排序演算法 選擇排序

2021-08-22 06:18:51 字數 635 閱讀 7376

選擇排序的基本思想是從陣列的第乙個元素開始查詢剩餘元素中的最小值,再將查詢到的最小值與第乙個元素比較,若小於第乙個元素值則互換,然後進行第二次選擇,從第二個元素之後開始查詢最小值再比較,這樣一直查詢到只剩下乙個元素。思想就是每次選擇最小值,直到只剩乙個元素。時間複雜度o(n^2),空間複雜度o(1)。

陣列:| 5 | 4 | 3 | 2 | 1 |

第一次遍歷

首先查詢第乙個元素5之後的最小值,找到1後與5比較, 由於1<5所以將兩數互換後得到陣列| 1 | 4 | 3 | 2 | 5 | 。

第二次遍歷

查詢第二個元素4之後的最小值,找到2後與4比較,由於2<4所以將兩數互換後得到陣列| 1 | 2 | 3 | 4 | 5 | 。

第三次遍歷

查詢第三個元素3之後的最小值,找到4後與3比較,由於4>3所以不做任何操作,進行下一步。

第四次遍歷

查詢第四個元素4之後的最小值,找到5後與4比較,由於5>4所以不做任何操作,進行下一步。

第五次遍歷

第五個元素5之後沒有元素,跳出迴圈結束排序。

void select_sort(int *arr, int len)

if(index != i)

}}

排序演算法 選擇排序

private static int leftchild int i private static void perc int a,int i,int n for int i 0 ir j break else public static void heasp int r,int n for i 0...

排序演算法 選擇排序

摘自 wiki百科 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾 目前已被排序的序列 以此類推,直到所有元素均排序完畢。c語言實現 vo...

排序演算法 選擇排序

排序演算法作為最基本也是最常用的演算法,是我們必須要掌握的內容。本文從比較基礎的選擇排序演算法開始,進行排序演算法的介紹。思想 選擇排序,顧名思義,就是從一組總數為n的無序陣列中,進行一次遍歷,選擇出最小 最大 的乙個,把它交換到陣列的第0個位置。然後不斷重複該操作,直到最後兩個數。在第 i 次選擇...