排序方法總結

2021-09-11 06:31:46 字數 992 閱讀 7423

//選擇排序

public static void selectsort(int arr)

}

//氣泡排序

public static void bubblesort(int arr)

}}

//插入排序

public static void insertsort(int arr)

}

附:swap的兩種方法

//swap方法一

private static void swap(int arr, int i, int j)

//swap方法二

private static void swap(int arr, int i, int j)

前三種排序都不需要遞迴;快排需要遞迴形式實現。

public class quicksort 

//遞迴函式

private static void quicksort(int nums, int lo, int hi)

//partition函式是快排的精髓所在

private static int partition(int nums, int lo, int hi)

}swap(nums, lo, j);

return j; //返回值j是以nums[lo]作為基準,將陣列左右分成兩組之後,基準元素在陣列中的索引位置

} private static void swap(int nums, int i, int j)

public static void main (string args) ;

quicksort(nums);

system.out.println(arrays.tostring(nums));

}

排序方法總結

mysort.h ifndef mysort h included define mysort h included 交換排序 氣泡排序,快速排序 void bubblesort int arr,int arrlen int slipforquicksort int arr,int arrleft,...

排序方法總結

一 選擇排序法 1 預設第乙個數已經排序,且預設第乙個數為最小的數,定義min用來存放最小的數在陣列中的位置。2 用min指向的數 即第乙個數 和第二個數比較,如果第乙個數比第二個數小,min指向不變 為0 如果第乙個數比第二個數大,min指向第二個數 為1 3 用min指向的數和第三個數比較,如果...

排序方法總結

第乙個學會的排序演算法就是冒泡演算法啦,聽說有些傢伙連冒泡演算法都寫不出來 偷笑.冒泡演算法的時間複雜度是o n2 和選擇排序的時間複雜度一樣。這是最基本的排序演算法了,時間複雜度這麼高,自然用處也不會多。選擇排序是冒泡演算法昇華了,氣泡排序是兩個兩個隔空辯論打擂,誰大誰到冠軍座椅繼續接受挑戰,內層...