排序演算法是演算法中比較基礎的,在這裡先對三種最簡單的排序演算法做個總結。
一、選擇排序
大致思路為:依次選擇無序區的最小值和無序區的第乙個值交換。
**:
void exchange(int
*a,int
*b)void selection_sort(int a,int len)
時間複雜度為n^2。
二、氣泡排序
大致思路:就像冒泡泡一樣,輕的向上浮,重的向下沉。
**:
void bubble_sort(int a,int
len)
時間複雜度為n^2。
三、快速排序
思路:選定乙個基準值,使所有比它小的數在它左邊,比它大的數在右邊。
**:
void quick_sort(int a,int
left,int
right)
時間複雜度為nlgn。 冒泡,選擇,快速排序
氣泡排序 比較相鄰的兩個數,把比較的冒上去,所以很簡單的得到 for i 0 i 5 i 選擇排序 就是打擂台的方式,每一次找出最大的與末尾的交換,先把啊a i 的值和位置存上,然後與a j 比較,如果value大就賦值給臨時變數,然後交換位置 void selectsort char a,int ...
氣泡排序,選擇排序,快速排序
1.氣泡排序 氣泡排序 bubble sort 最為簡單的一種排序,通過重複走完陣列的所有元素,通過打擂台的方式兩個兩個比較,直到沒有數可以交換的時候結束這個數,再到下個數,直到整個陣列排好順序。因乙個個浮出所以叫氣泡排序。雙重迴圈時間o n 2 void bubblesort int arr in...
氣泡排序 選擇排序 快速排序
氣泡排序的思想在於,不斷地將當前元素與後乙個元素進行比較,如果當前元素較小,則調換當前元素與後乙個元素的位置,否則保持不變 假設需要排序的元素一共有n個,從第乙個元素開始,對後續的 n 2 元素進行上述比較,最終的排序結果中,最後的元素是最大值。def bubble sort alist n len...