「深入理解」 交換排序演算法

2021-07-14 16:38:21 字數 573 閱讀 4952

基於交換的排序演算法有兩種:氣泡排序和快速排序

1、氣泡排序(bubble sort)演算法描述:比較相鄰兩個元素的大小,如果反序,則交換。若按公升序排序,每趟將資料序列中的最大元素交換到最後位置,就像氣泡從水裡出來一樣。

舉例如下:

//氣泡排序

public static void bubblesort(int a)

int i = left;

int j = right;

int temp = num[i];

//此處開始進入遍歷迴圈

while (i < j)

num[i] = num[j];

while (i < j && num[i] <= temp)

num[j] = num[i];

num[i] = temp; // 此處不可遺漏,將基準值插入到指定位置

}quicksort(num, left, i - 1);

quicksort(num, i + 1, right);

}

詳細的快速排序演算法可參考 

深入理解排序演算法

1.排序 sort 2.演算法 algorithm 3.常用排序演算法 術語解讀 時間複雜度 執行演算法所需要的計算工作量 耗費的時間 一般來說,計算機演算法是問題規模n 的函式f n 記做t n f n 氣泡排序 問題規模為n,需要比較n次,所以平均時間複雜度為o n 歸併排序 問題規模通過分治法...

交換排序演算法

快速排序 為啥叫快速排序,因為速度快,效率高 1.先找乙個數作為基準。作為基準的這個數,一趟排下來,左邊的數必小於它,右邊的數必大於它,也就是說,它找到了自己的位置。2.將兩個指標i,j分別指向表的起始 基準 和最後的位置。3.比較j指標的數字是否小於基準,j 直到j小於基準,交換位置 4.比較i指...

交換排序演算法

就是根據序列中兩個記錄鍵值的比較結果來對換這兩個記錄在序列中的位置。將鍵值較大的記錄向序列的尾部移動,鍵值較小的記錄向序列的前部移動。氣泡排序 快速排序 說明 1.以下方法最後結果均按照公升序排列 2.用4,2,1,3,7,4,5,8,3,5序列進行測試 1 基本思想 在n個待排序陣列中選取待排序數...