21xrx.com
2024-09-20 05:36:02 Friday
登录
文章检索 我的文章 写文章
C++代码:实现冒泡排序算法
2023-07-08 03:09:53 深夜i     --     --
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,即为排好序的数组。

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

  
  

评论区

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