//選擇排序
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 和選擇排序的時間複雜度一樣。這是最基本的排序演算法了,時間複雜度這麼高,自然用處也不會多。選擇排序是冒泡演算法昇華了,氣泡排序是兩個兩個隔空辯論打擂,誰大誰到冠軍座椅繼續接受挑戰,內層...