21xrx.com
2025-03-29 10:02:15 Saturday
文章检索 我的文章 写文章
C++代码:实现冒泡排序算法
2023-07-08 03:09:53 深夜i     14     0
C++ 代码 冒泡排序算法

冒泡排序算法是一种简单易懂的排序算法,通过相邻元素的比较和交换来实现排序。它是最基本的排序算法之一,虽然时间复杂度较高,但对于小规模的数据排序依旧有着不错的效果。

在C++语言中,实现冒泡排序算法十分简单。下面是一段示例代码:

void bubbleSort(int array[], int n) {
  for (int i = 0; i < n - 1; i++) {
    for (int j = 0; j < n - i - 1; j++) {
      if (array[j] > array[j + 1]) {
        int temp = array[j];
        array[j] = array[j + 1];
        array[j + 1] = temp;
      }
    }
  }
}

上述代码中,实现了一个名为bubbleSort的函数,该函数接收两个参数,分别是待排序数组array和数组长度n。函数内部通过两个for循环来实现冒泡排序:

第一个for循环用于控制每次比较的次数,循环次数为n-1,因为最后一个元素不需要比较。

第二个for循环用于进行相邻元素的比较,循环次数也为n-1-i,这是因为已经排好序的元素不需要再进行比较。

比较过程中,如果前面的元素大于后面的元素,就将两者交换位置,这样经过一轮循环后,便会将最大值移到数组的最后面。

最终,经过n-1轮的比较和交换,待排序数组就会被排序。

使用上述函数进行冒泡排序非常简单,只需要在主函数中调用即可。例如,下面是一个示例代码,将一个整型数组进行冒泡排序:

#include <iostream>
using namespace std;
void bubbleSort(int array[], int n);
int main() {
  int array[] = 5;
  int n = sizeof(array) / sizeof(array[0]);
  bubbleSort(array, n);
  for (int i = 0; i < n; i++) {
    cout << array[i] << " ";
  }
  cout << endl;
  return 0;
}
void bubbleSort(int array[], int n)
  // 冒泡排序算法函数
  // ...

输出结果为:1 2 3 4 5 6,即为排好序的数组。

总的来说,冒泡排序算法虽然时间复杂度较高,但是实现简单,适用于小规模的数据排序。如果需要排序大量的数据,建议使用更加高效的算法,如快速排序、堆排序等等。

  
  

评论区

请求出错了