選擇排序是在一組待排序的陣列中選擇乙個最小(大)的數排在序列頭,然後在剩下的待排序的數中選擇最小(大)的數排在序列尾,以此類推,直到待排數目為0。
**實現
public
class
demo2;d
(ab)
;for
(int i =
0; i public
static
voidd(
int[
] ab)}}
}public
static
voide(
int[
] a,
int c,
int b)
}
優化**
優化思想:每一輪找出乙個最小數和乙個最大數,最小數放在第乙個位置,最大數放在最後乙個位置可以減少迴圈的次數
public
class
demo2;3
e(ab)
;for
(int i =
0; i public
static
voide(
int[
] ab)
if(ab[i]
>ab[max])}
//將最大值放在最右
if(max!=right)
//防止最小值在最大值將要交換的位置上
if(min == right)
//將最小值放在左側
if(min!=left)
left++
; right--;}
}}
排序之選擇排序
書接上文,下面是選擇排序。選擇排序是最容易想到也是最容易實現的排序方式。主要思想 n個元素的陣列,每次從原陣列中找到最小的乙個元素,將這個元素加入新陣列,再把這個元素從元陣列中刪除,就完成了一次選擇。經過n 1次選擇後原陣列中剩下乙個元素,就是最大的乙個元素,將他加入新陣列裡,就完成了選擇排序。這個...
排序之選擇排序
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。乙個長度為n的待排序列,先找出 0,n 1 區間內最小的數,放在第一位,再找出 2...
排序之選擇排序
二 選擇排序 1 選擇排序 區間在不斷地變小 基本思想 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。首先,選出最小的數放在第一位,然後選擇第二小的數,放在...