每個演算法都接收乙個含有元素的陣列num和乙個表示陣列元素個數的整數n。排序後的陣列為公升序排列。
void
******_sort
(int num,
int n)
}
void
insert_sort
(int num,
int n)
}
void
bubble_sort
(int num,
int n)
在氣泡排序裡,交換兩個相鄰的元素恰好消除乙個逆序,而在排好序的陣列中沒有逆序。已知n個互逆元素的陣列的平均逆序數是(n*(n-1))/4,因此氣泡排序的時間複雜度為o(n*n)。
為了減小排序演算法的時間複雜度,必須使得每次交換消除乙個以上的逆序,也就是要對相對距離較遠的元素進行交換。
內部排序演算法
內部排序是指待排序列完全存放在記憶體中所進行的排序過程,適合不太大的元素序列。1.快速排序int partition int a,int low,int high a low a high while low2.並歸排序 void merging int list1,int list1 size,i...
內部排序演算法
內部排序演算法就是指記憶體中的排序演算法,而外部排序演算法則是指待排序資料過多,無法一次性載入到記憶體中,排序過程需要讀取磁碟,因此需要考慮磁碟 io 的消耗!內部排序演算法按照操作型別可大致分為五類 插入排序 交換排序 選擇排序 歸併排序 計數排序 內部排序演算法按照時間複雜度可大致分為三類 簡單...
內部排序演算法 選擇排序
選擇排序法可使用兩種方式排序 從小到大或從大到小 例如 當n個資料需要由大至小排序時,首先將第乙個位置的資料依次和第2 3 4 n個位置的資料進行比較。如果資料大於或等於其中乙個位置,則不變 若小於其中乙個位置的資料,則兩個位置的資料互換。互換後第1個位置的資料繼續與後續位置的資料進行比較,直到位置...