排序之選擇排序

2021-10-04 20:35:52 字數 945 閱讀 6943

原理:

每一次從無序區間選出最大(或最小)的乙個元素,存放在無序區間的最後(或最前),直到全部待排序的資料元素排完 。

**實現:

public void selectsort(int arr) 

}if(arr.length - i !=maxpos) }}

public void swap(int array,int left,int right)

效能分析:穩定性:不穩定

int array = ;

// 交換中該情況無法識別,保證 5a 還在 5b 前邊

原理:每一次從無序區間選出最小 + 最大的元素,存放在無序區間的最前和最後,直到全部待排序的資料元素排完 。

**實現:

public  void selectsortop(int array) 

if(array[index] < array[minpos])

index++;

}if(maxpos != end )

if(array[minpos] < array[begin] && minpos != begin)

begin++;

end--;}}

public void swap(int array,int left,int right)

與直接選擇排序的不同之處:

雙向選擇排序比直接選擇排序的迴圈次數少了一半,每次排序了兩個元素,效能更好。

排序之選擇排序

書接上文,下面是選擇排序。選擇排序是最容易想到也是最容易實現的排序方式。主要思想 n個元素的陣列,每次從原陣列中找到最小的乙個元素,將這個元素加入新陣列,再把這個元素從元陣列中刪除,就完成了一次選擇。經過n 1次選擇後原陣列中剩下乙個元素,就是最大的乙個元素,將他加入新陣列裡,就完成了選擇排序。這個...

排序之選擇排序

選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。乙個長度為n的待排序列,先找出 0,n 1 區間內最小的數,放在第一位,再找出 2...

排序之選擇排序

二 選擇排序 1 選擇排序 區間在不斷地變小 基本思想 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。首先,選出最小的數放在第一位,然後選擇第二小的數,放在...