源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C++冒泡排序算法实例

  • 时间:2022-01-20 19:13 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C++冒泡排序算法实例
[b]冒泡排序[/b] 大学学习数据结构与算法最开始的时候,就讲了冒泡排序;可见这个排序算法是多么的经典。冒泡排序是一种非常简单的排序算法,它重复地走访过要排序的数列,每一次比较两个数,按照升序或降序的规则,对比较的两个数进行交换。比如现在我要对以下数据进行排序: 10 3 8 0 6 9 2 当使用冒泡排序进行升序排序时,排序的步骤是这样的: 3 10 8 0 6 9 2  // 10和3进行对比,10>3,交换位置 3 8 10 0 6 9 2  // 10再和8进行对比,10>8,交换位置 3 8 0 10 6 9 2  // 10再和0进行对比,10>0,交换位置 …… 3 8 0 6 9 2 10  // 这个时候,10到达了最右边,是最大的数字,此时,我们在从头开始进行对比 3 8 0 6 9 2 10  // 3小于8,所以不用交换位置 3 0 8 6 9 2 10  // 8大于0,所以交换位置 …… 0 2 3 6 8 9 10 很简单,就是让大数沉入下面,小数慢慢上浮起来。冒泡排序的时间复杂度也为O(n^2)。 [b]代码实现[/b]
[u]复制代码[/u] 代码如下:
#include <iostream> using namespace std;   void BubbleSort(int arr[], int length) {      int temp;      for (int i = 0; i < length; ++i)      {           for (int j = 0; j < length - i - 1; ++j)           {                if (arr[j] > arr[j + 1])                {                     temp = arr[j];                     arr[j] = arr[j + 1];                     arr[j + 1] = temp;                }           }      } }   int main() {      int arr[10] = {2, 4, 1, 0, 8, 4, 8, 9, 20, 7};        BubbleSort(arr, sizeof(arr) / sizeof(arr[0]));        for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i)      {           cout<<arr[i]<<" ";      }      cout<<endl;        return 0; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部