21xrx.com
2024-12-23 00:10:47 Monday
登录
文章检索 我的文章 写文章
C++ 数组排序:冒泡法
2023-06-28 19:26:02 深夜i     --     --
C++ 数组 排序 冒泡法

在 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[] = 1;

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

  bubbleSort(arr, n);

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

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

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

  }

  cout << endl;

  return 0;

}

在上面的代码中,我们定义了一个 bubbleSort() 函数,该函数接收两个参数:一个整数数组和该数组的大小。在该函数内部,我们使用了双重循环和一个标志位来实现冒泡排序。

在主函数中,我们定义了一个整数数组,并调用 bubbleSort() 函数对这个数组进行排序。最后,我们打印出了排序后的数组。

使用冒泡法进行数组排序的时间复杂度为 O(n^2),因此,对于大规模的数组,冒泡排序并不是最优的算法。但对于小型数组,冒泡排序是一种非常实用、易于实现的算法。

  
  

评论区

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