21xrx.com
2024-05-20 11:47:51 Monday
登录
文章检索 我的文章 写文章
C++实现冒泡排序:从大到小排列
2023-07-10 20:37:10 深夜i     --     --
C++ 冒泡排序 从大到小

冒泡排序是一种简单而经典的排序算法,它是通过依次比较相邻元素并交换位置来将数组数据按一定顺序排序的算法。在C++中,冒泡排序是一种常用的排序算法之一,因为它易于理解和实现。本文将介绍使用C++实现冒泡排序,让元素从大到小排列。

首先,我们需要定义一个整数数组,并初始化其中的元素。这个数组表示待排序的数据。下面是示例代码:


#include <iostream>

using namespace std;

int main() {

  int data[] = 65;

  int len = sizeof(data) / sizeof(data[0]);

  cout << "Original array: ";

  for (int i=0; i<len; i++) {

    cout << data[i] << " ";

  }

  cout << endl;

  return 0;

}

接下来,我们需要实现冒泡排序的算法。首先,我们需要进行多轮比较和交换操作,以便将数组中的元素从大到小排列。其实现思路如下:

- 从数组第一个元素开始,向后遍历,比较相邻两个元素的大小,并按需交换位置,以保证元素之间的顺序排列正确。

- 重复上述操作直至遍历整个数组,完成一轮排序。

- 继续进行下一轮比较和交换,但这次需要对除了末尾元素外的元素进行比较和交换操作。重复以上过程,直至整个数组被有序排列。

下面是实现代码:


void bubbleSort(int arr[], int len) {

  for (int i=0; i<len-1; i++) {

    for (int j=0; j<len-1-i; j++) {

      if (arr[j] < arr[j+1]) {

        int temp = arr[j];

        arr[j] = arr[j+1];

        arr[j+1] = temp;

      }

    }

  }

}

最后,我们调用该函数,将排序后的结果输出。代码如下:


int main() {

  int data[] = 23;

  int len = sizeof(data) / sizeof(data[0]);

  cout << "Original array: ";

  for (int i=0; i<len; i++) {

    cout << data[i] << " ";

  }

  cout << endl;

  bubbleSort(data, len);

  cout << "Sorted array: ";

  for (int i=0; i<len; i++) {

    cout << data[i] << " ";

  }

  cout << endl;

  return 0;

}

通过运行上面的代码,我们可以得到如下输出结果:


Original array: 34 12 65 7 23 91 33 54

Sorted array: 91 65 54 34 33 23 12 7

本文介绍了如何使用C++实现冒泡排序算法,让数组元素从大到小排列。冒泡排序是一种简单有效的排序算法,虽然其时间复杂度较高,但对于小规模数据排序非常有效。当然,对于大规模数据排序,我们可以使用其他高效的排序算法,比如快速排序和归并排序。

  
  

评论区

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