未優化前
package sort;
/*選擇排序*/
public
class
selection_sort_1
; long s = system.
currenttimemillis()
;selection_sort
(a);
long e = system.
currenttimemillis()
-s; system.out.
println
("時間"
+e);
}private
static
void
selection_sort
(int
a)}if
(i!=pos)
}for
(int i =
0;i}
優化後,每一次找到最大值與最小值,乙個放到最左邊,乙個放到最右邊
當最左邊為最大值或者最右邊為最小值的時候需要做相應處理
package sort;
/*選擇排序*/
public
class
selection_sort
; long s = system.
currenttimemillis()
;selection_sort
(a);
long e = system.
currenttimemillis()
-s; system.out.
println
("時間"
+e);
}private
static
void
selection_sort
(int
a)if(a[pos1]
if(flag)
if(i!=pos)
if(i==pos1||pos==
(a.length-
1-i))if
(pos1!=a.length-i-1&&
(pos!=
(a.length-
1-i)
&&pos1!=i))}
for(
int i =
0;i}
選擇排序 優化
定義 它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。步驟假設我們拿到的起始位置的數值是最小的 拿起始位置的值與後面所有數值進行比較 選擇數值比較小的數值的角標與臨時變數裡存放的角標進行交換 確定第乙個有序值 i 要排第幾個 ...
選擇排序及其優化
一 原始的選擇排序 選擇排序 selection sort 是一種簡單直觀的 排序演算法 它的工作原理是每一次從待排序的 資料元素 中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。includeusing namespace std void selections...
選擇排序及其優化
選擇排序基礎版 public static int selectsort int array int temp array i array i array index array index temp return array 選擇排序就是在未序的序列中選出乙個最大或最小的值放到已序序列的末尾,當內...