21xrx.com
2024-05-20 14:07:06 Monday
登录
文章检索 我的文章 写文章
C++ 冒泡排序实现
2023-07-11 02:08:29 深夜i     --     --
C++ 冒泡排序 实现

冒泡排序是一种简单的排序算法,常用于学习排序算法的入门。在C++中,我们可以实现冒泡排序,以下是实现代码。


#include<iostream>

using namespace std;

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

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

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

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

        int temp = arr[j];

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

        arr[j+1] = temp;

      }

    }

  }

}

int main(){

  int arr[] = 64;

  int size = sizeof(arr)/sizeof(arr[0]);

  bubbleSort(arr, size);

  cout << "排序后的数组:";

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

    cout << arr[i] << " ";

  }

  return 0;

}

上述代码中,`bubbleSort`函数为冒泡排序的实现,参数`arr`为需要排序的数组,`size`为数组大小。在主函数里,我们定义了一个数组并调用`bubbleSort`函数进行排序,最后输出排序后的结果。

冒泡排序的核心思想是每次通过相邻元素的比较和交换,把最大(或最小)元素移到最后(或最前),从而达到排序的目的。在上述代码中,我们通过两层循环实现了这个过程,第一层循环控制扫描次数,因为最坏的情况下需要n-1次扫描才能完成排序,所以第一层循环从0循环到size-1。第二层循环控制相邻元素的比较和交换,因为每次扫描后最后面的元素已经确定好了位置,所以第二层循环从0循环到size-1-i。

冒泡排序的时间复杂度为O(n²),它对于小规模数据排序效率较高,但对于大规模数据排序效率较慢。因此在实际应用中,冒泡排序并不常用,其他排序算法(如快速排序、归并排序等)更为常见和实用。

总之,学习冒泡排序可以帮助我们更好地理解和掌握排序算法的基本思想和实现方式,同时也有助于我们更好地应对实际问题和算法编程挑战。

  
  

评论区

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