一、簡介
選擇排序的思想其實和氣泡排序有點類似,都是在一次排序後把最小的元素放到最前面。但是過程不同,氣泡排序是通過相鄰的比較和交換。而選擇排序是通過對整體的選擇。舉個栗子,對5,3,8,6,4這個無序序列進行簡單選擇排序,首先要選擇5以外的最小數來和5交換,也就是選擇3和5交換,一次排序後就變成了3,5,8,6,4.對剩下的序列一次進行選擇和交換,最終就會得到乙個有序序列。其實選擇排序可以看成氣泡排序的優化,因為其目的相同,只是選擇排序只有在確定了最小數的前提下才進行交換,大大減少了交換的次數。選擇排序的時間複雜度為o(n^2)。
示例圖:
二、實現**如下:
/**
* 簡單排序-選擇排序
*/private void sort******select(int array)
}if (minindex != i)
}log.v(tag, "array值為:" + arrays.tostring(array));
}
/**
* 交換倆元素
* @param array
* @param m
* @param n
*/private void swaparray(int array, int m, int n)
呼叫語句如下:
int array=new int;
sort******select(array);
日誌列印如下:
08-14 18:04:13.191 5288-5288/com.tool.wpn.quicksort v/mainactivity: array值為:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20]
資料結構與演算法(1) 簡單排序
資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題 資料結構分為 邏輯結構 和 物理結構 兩類 邏輯結構分類 物理結構分類 邏輯結構在計算機中真正的表示方式 又稱為映像 稱為物理結構,也可以叫做儲存結構。常見的物理結構有順序儲存結構 鏈式儲存結構 時間複雜度 ...
資料結構與演算法 3 簡單排序
氣泡排序的api設計 class bubble 兩個數之間換位置 private static void exch comparable a,int i,int j 適用於輸入規模比較少的時候 選擇排序的api設計 public class testselection selection.sort ...
資料結構 簡單排序
1 氣泡排序 package chap02 public class bubblesort 測試類 package chap02 public class testsort system.out.println 排序前 system.out.print for int i 0 i arr.lengt...