冒泡排序算法基本思想就是:依次比较相邻两个数,如果前面的数比后面大(降序),则交换两个数,这样的话第一轮遍历结束会浮出最大的数(就像水中的气泡一样,最大的先浮上来),最多经过n-1次,该序列成为有序序列。

C++实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>

using namespace std;

void BubbleSort(int r[], int n) {
int b, exchange = n-1;
while(exchange != 0) {
b = exchange;
exchange = 0;
for (int i = 0; i < b; i++) {
if(r[i] > r[i+1]) {
int temp = r[i];
r[i] = r[i + 1];
r[i + 1] = temp;
exchange = i;
}
}
}
}

int main () {
int a[10] = {3,1,8,6,53,3,4,6,7,0};
BubbleSort(a,10);
for(int i = 0; i < 10; ++i) {
cout << a[i] << " ";
}
return 0;
}