标签:算法 思想 bubble stream -- ++ span 时间 复杂度
4 2 3 1 5
第一趟冒泡
第一轮:2 4 3 1 5
第二轮:2 4 1 3 5
第三轮:2 1 4 3 5
第四轮:1 2 4 3 5
得到最小的元素1排在最前面
第二趟冒泡:
第一轮:1 2 4 3 5
第二轮:1 2 3 4 5
第三轮:1 2 3 4 5
得到次大的元素2在第二个位置上
对剩下的序列依次冒泡就会得到一个有序序列
1 #include <iostream> 2 using namespace std; 3 4 int a[] = { 4,2,3,1,5 }; 5 void BubbleSort(int* a,int n) { 6 for(int i=0;i<n-1;i++) 7 for (int j = n - 1; j > i; j--) { 8 int tmp; 9 if (a[j - 1] > a[j]) { 10 tmp = a[j - 1]; 11 a[j - 1] = a[j]; 12 a[j] = tmp; 13 } 14 } 15 } 16 17 int main() { 18 BubbleSort(a, 5); 19 for (int i = 0; i < 5; i++) 20 cout << a[i] << " "; 21 return 0; 22 }
标签:算法 思想 bubble stream -- ++ span 时间 复杂度
原文地址:https://www.cnblogs.com/PennyXia/p/12625154.html