思想:每次將最大的數字移動到陣列的最後面。比較複雜度和操作複雜度都較高。
**實現
public
static
void
bubblesort(int arr)}}
}
思想:假設每次最小值(最大值)為第乙個,然後遍歷之後的元素,若有更小的元素,則該元素的下標就為minindex。最後,將最小的值換至第乙個(i)位置。
**實現
public
static
void
selectsort(int arr)
}}
思想:將陣列分為有序和無須的兩部分,每次從無須的陣列中選出乙個元素與有序陣列進行比較,並將其插入到有序陣列中。比較複雜度和操作複雜度都較小。
* 每次必須記下無序陣列的第乙個值,便於後移和插入。**實現
public
static
void
insertsort(int arr)
arr[in] = temp;
}}
public
static
void
main(string args)
long before = system.currenttimemillis();
insertsort(arr);
// selectsort(arr);
// bubblesort(arr);
long after = system.currenttimemillis();
system.out.println("執行時間是: "+(after-before));
最終結果(100000個元素的陣列排序時間)
最終結論顯示,插入排序的效率要高於選擇排序和氣泡排序。
冒泡,選擇,插入排序
arr 8,3,1,2,5 定義全域性陣列,用於氣泡排序 arr1 9,6,7,1,4 定義全域性陣列,用於選擇排序 arr2 10,25,7,2,5,1,30,28,21 定義全域性陣列,用於插入排序 temp 0 全域性變數,用於交換數字 氣泡排序 puts 氣泡排序 n begin upto迴...
冒泡 選擇 插入排序
氣泡排序氣泡排序實現記口訣 n個數字來比較外層迴圈n 1,內層迴圈n 1 i public static void main string args for int i 0 ia j 1 第一層 第1次比較 8,7,6,5,4 第2次比較 7,8,6 5,4 第3次比較 7,6,8,5 4 第4次比...
氣泡排序 插入排序 選擇排序的原理及比較
public class test bubblesort arr selectsort arr insertsort arr for int i 0 i arr.length i 氣泡排序 從初始位置開始,與相鄰的數進行比較,前面的數大於後面的數,進行交換,得到較大的數之後,這個數繼續跟後面相鄰的數...