1、冒泡排序
? ? 冒泡排序思想:兩兩比較待排序記錄的關(guān)鍵字,發(fā)現(xiàn)兩個(gè)記錄的次序相反時(shí)即進(jìn)行交換,直到?jīng)]有反序的記錄為止。(從第一個(gè)數(shù)開始比較)
int a[12] = {30, 21, 13, 37, 43, 23, 34, 53, 66, 72, 99, 95};
int index2 = 0;
for (int index1 = 0; index1 < 12; index1++) {
//?取出第(n+1)個(gè)數(shù)與前者進(jìn)行比較
//?比較完第一輪,將最大的數(shù)置頂,就好比是氣泡一樣
? for (index2 = index1+1 ; index2 < 12; index2++) {
int variable = 0;
if (a[index1] < a[index2]) {
variable = a[index1];a[index1] = a[index2];a[index2] = variable;
}}
}
2、插入排序
插入排序?qū)崿F(xiàn)思想:在已排好的序列中用順序法查找插入位置,找到后將該位置原來的記錄及其后面所有記錄順序后移一個(gè)位置,空出該位置來插入新紀(jì)錄
int i, j;
for (i = 1; i < 12; i++) {
if (a[i] < a[i - 1]) //?如果前一個(gè)數(shù)大于后一個(gè)數(shù){
int temp = a[i]; //?保存值
for (j = i - 1; j >= 0 && a[j] > temp; j--) {
a[j + 1] = a[j];}
a[j + 1] = temp;}
}