21xrx.com
2025-06-23 17:21:13 Monday
文章检索 我的文章 写文章
C++冒泡排序代码实现(降序)
2023-07-06 21:09:53 深夜i     12     0
C++ 冒泡排序 代码实现 降序

冒泡排序是一种简单的排序算法,它重复遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。由于它只涉及相邻元素的比较,因此排序时需要多次遍历才能完成。

下面是C++冒泡排序的代码实现(降序):

#include<iostream>
using namespace std;
void bubbleSort(int arr[], int n)
{
  int i, j;
  bool flag;
  for(i = 0; i < n-1; i++)
  {
   flag = false;
   for(j = 0; j < n-i-1; j++)
   {
     if(arr[j] < arr[j+1])
     {
      swap(arr[j], arr[j+1]);
      flag = true;
     }
   }
   if(flag == false)
     break;
  }
}
int main()
{
  int arr[] = 22;
  int n = sizeof(arr)/sizeof(arr[0]);
  bubbleSort(arr, n);
  cout << "Sorted array in descending order: \n";
  for (int i = 0; i < n; i++)
    cout << arr[i] << " ";
  cout << endl;
  return 0;
}

在上述代码中,我们首先定义了一个函数bubbleSort,其中arr[]是要排序的数组,n是数组的长度。接着,我们使用两个嵌套循环来遍历每个元素,并比较它们的大小。如果当前元素比下一个元素小,则交换它们的位置(这里使用了内置函数swap)。通过这样的比较和交换,我们可以将最大的元素移至数组的最前面。

注意,当遍历整个数组时,我们需要一个flag变量来判断是否存在已经排好序的元素。如果没有交换,则说明数组已经排好序了,我们可以直接跳出循环。

在主程序中,我们定义了一个数组arr,并调用了bubbleSort函数对该数组进行降序排序。最后,我们输出排好序的数组并结束程序。

总之,C++冒泡排序算法是一种简单且易于理解的排序算法,它可以用于对数据进行排序,有助于加深对排序算法的理解。

  
  

评论区