排序之選擇排序

2021-09-25 10:23:34 字數 981 閱讀 6610

選擇排序的基本思想是每一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。

直接選擇排序

在待排序元素集合array[i]–array[n-1]中選擇關鍵碼最大(小)的資料元素

若它不是這組元素中的最後乙個(第乙個)元素,則將它與這組元素中的最後乙個(第乙個)元素交換

在剩餘的array[i]–array[n-2](array[i+1]–array[n-1])集合中,重複上述步驟,直到待排序元素集合剩餘1個元素 。

選擇最大的元素放在後面:

**實現:

選擇最大的元素放在前面:

void

selectsortmax

(int a,

int size)

}int k=a[max]

; a[max]

=a[size-i-1]

; a[size-i-1]

=k;}

}

選擇最小的元素放在前面:

**實現:

void

selectsortmin

(int a,

int size)

}int k=a[min]

; a[min]

=a[i]

; a[i]

=k;}

}

直接選擇排序的特性總結

好理解,但是效率不是很高,實際中很少使用

時間複雜度:==o(n^2) ==

空間複雜度:o(1)

穩定性:不穩定

排序之選擇排序

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

排序之選擇排序

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

排序之選擇排序

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