氣泡排序c語言大家都學過,就不多說,說一下補充的部分。就是當當前的數不再發生交換時,就退出迴圈。這樣可以減少迴圈的次數。以及,氣泡排序是一種穩定的排序演算法
#include
using
namespace std;
intmain()
;int i=
0,j=
0,k=0;
int x;
int flag=0;
while
(flag==
1&&i<9)
} i++;}
for(k=
0;k<
10;k++
)printf
("%d\n"
,a[k]);
}
每一趟快速排序都會產生乙個中樞值,然後將中樞值的左右部分分別快速排序迭代。
一趟快速排序的過程:
1,將陣列第乙個值賦給中樞值;
2,初始i為陣列第乙個元素的索引,j為最後乙個。
3,從j開始,向前尋找找到比中樞值小的值後停下來,交換a[i]與a[j];
4,從i開始,向後尋找找到比中樞值大的值後停下來,交換a[i]與a[j];
5,i==j時退出迴圈。
#include
using
namespace std;
void
quick
(int a,
int low,
int high)
j--;}
while
(ii++;}
}for
(int i=
0;i<
10;i++
) cout<<<
'\t'
; coutlow)
quick
(a,low,i-1)
;if(jquick
(a,j+
1,high);}
intmain()
;quick
(a,0,9
);}
複習資料結構 排序演算法(二) 氣泡排序
這篇複習氣泡排序。氣泡排序也是一種穩定排序 內排序。氣泡排序的基本思想 對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即 每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。插入排序比氣泡排序快!上面說的是普通的氣泡排序演算...
複習 冒泡,快速 排序
氣泡排序是面試最基礎的內容一定要會 氣泡排序的思想 對於一組陣列 針對從大到小 每次迴圈乙個乙個比較找到乙個最大的數放置末尾,後一次迴圈的數個數將會比前一次少1,因為已經確定了乙個數的位置,以此下去將會排完所有資料。來張圖看把清楚點 氣泡排序通常使用兩個for迴圈 第乙個for迴圈則是確定迴圈輪數 ...
資料結構與演算法 排序 氣泡排序
兩兩相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。氣泡排序基本概念是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此...