21xrx.com
2024-05-20 20:18:31 Monday
登录
文章检索 我的文章 写文章
C++冒泡排序代码实现(降序)
2023-07-06 21:09:53 深夜i     --     --
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++冒泡排序算法是一种简单且易于理解的排序算法,它可以用于对数据进行排序,有助于加深对排序算法的理解。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复