常用算法之冒泡排序(C++版)
其實(shí)我認(rèn)為冒泡是最沒(méi)有必要說(shuō)的一個(gè)算法,如果連冒泡都不知道的話,我覺(jué)得就不能謂之學(xué)過(guò)算法。這個(gè)應(yīng)該是屬于特別簡(jiǎn)單的一個(gè)算法,很基本,我記得當(dāng)時(shí)我們是講算法的時(shí)候,講的第一個(gè)就是這個(gè)冒泡排序。我也就不多說(shuō)其他了,我這里寫上純粹是為了一個(gè)完整性。
效率O(n*n),穩(wěn)定排序。
1 #include
2 using namespace std;
3
4 int BubbleSort(int *nData,int len)
5 {
6 bool isOk = false;
7 for(int i = 0;i
8 isOk = true;
9 for(int j = len - 1;j > i;--j){
10 if(nData[j]
11 int temp = nData[j];
12 nData[j] = nData[j-1];
13 nData[j-1] = temp;
14 isOk = false;
15 }
16 }
17 }
18 }
19
20 int main()
21 {
22 int pData[10]={1,5,9,3,4,7,8,2,6,10};
23 for(int i = 0;i<10;++i)
24 cout<