排序(三)選擇與氣泡排序

2021-08-26 15:13:21 字數 858 閱讀 3496

在排序中選擇與氣泡排序應該是最基本與入門的

選擇排序

基本思想:

在要排序的一組數中,選出最小(或者最大)的乙個數與

第1個位置

的數交換;然後在剩下的數當中再找最小(或者最大)的與

第2個位置

的數交換,依次類推,直到第n-1個元素(倒數第二個數)和第n個元素(最後乙個數)比較為止。

#includevoid xuanze(int *a,int n)

} }}void print(int *a, int n)

printf("\n");

}int main()

; xuanze(a,sizeof(a)/sizeof(a[0]));

print(a,sizeof(a)/sizeof(a[0]));

return 0;

}

氣泡排序

基本思想:

在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即:每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。

#includevoid maopao(int *a,int n)

} }}void print(int *a,int n)

printf("\n");

}int main()

; maopao(a,sizeof(a)/sizeof(a[0]));

print(a,sizeof(a)/sizeof(a[0]));

return 0;

}

排序 氣泡排序與選擇排序

最近複習大學學過的演算法,這裡做個筆記。排序,我們學過 這裡需要了解什麼是時間複雜度,什麼是空間複雜度。簡單而言,時間複雜度指執行的次數,空間複雜度指消耗的記憶體。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序 如從大到小 首字母從z到a 錯誤就把他們交換過來。走訪元素的工作是重複地...

選擇排序與氣泡排序

今早心血來潮,又想看看氣泡排序.於是乎度娘一番,找到了度娘給我的這篇文章,前面的文字描述還是簡單易懂的,可惜給出的 示範有些文不對題.於是乎又wiki一番.發現上文給出的 形似選擇排序,於是總結如下 我們假設有乙個陣列 624159 對應的索引也就是 0 5,如果我想描述第二個位置,也就是數字2的位...

選擇排序與氣泡排序

選擇排序 static void sort1 int arr var temp arr i arr i arr min arr min temp 氣泡排序 static void sort2 int arr static void main string args sort1 arr foreach...