幾種常見的排序演算法(一)

2021-08-26 14:50:11 字數 853 閱讀 1680

基本過程

每次從未排序序列中選擇出最小(最大)的資料,和未排序序列的第乙個資料交換。

時間複雜度:o(n^2)

過程圖示

演算法實現

void selectsort(int a,int len)

if(i!=k)}}

基本過程每次都比較相鄰的兩個資料,把較大的交換到靠後的位置,則一趟排序之後就會得到無序序列中最大的那個資料。

**時間複雜度:**o(n^2)

過程圖示

**實現

void bubble_sort(int arr, int

len) {

int i, j;

for (i =0; i < len -1; i++) //外層迴圈控制趟數,總趟數為len-1

for (j =0; j < len -1 - i; j++) //內層迴圈為當前i趟數 所需要比較的次數

if (arr[j] > arr[j +1])

swap(arr[j], arr[j +1]);

幾種常見排序演算法

幾種常見排序演算法 1氣泡排序 bubble sort 氣泡排序思路 將序列當中的左右元素,依次比較,保證右邊的元素始終大於左邊的元素 第一輪結束後,序列最後乙個元素一定是當前序列的最大值 對序列當中剩下的n 1個元素再次執行步驟1。3.對於長度為n的序列,一共需要執行n 1輪比較 實現 for i...

幾種常見排序演算法

1氣泡排序 bubble sort 氣泡排序思路 1.將序列當中的左右元素,依次比較,保證右邊的元素始終大於左邊的元素 第一輪結束後,序列最後乙個元素一定是當前序列的最大值 2.對序列當中剩下的n 1個元素再次執行步驟1。3.對於長度為n的序列,一共需要執行n 1輪比較 實現 for i 0 i n...

幾種常見排序演算法

以下內容包括 氣泡排序,選擇排序,桶排序 一 氣泡排序 bubblesort public class bubblesort int temp 0 for int i 0 i1 i system.out.println arrays.tostring arr 用arrays類中的tostring方法...