選擇排序(selection sort)是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
選擇排序的主要優點與資料移動有關。如果某個元素位於正確的最終位置上,則它不會被移動。選擇排序每次交換一對元素,它們當中至少有乙個將被移到其最終位置上,因此對n個元素的表進行排序總共進行至多n-1次交換。在所有的完全依靠交換去移動元素的排序方法中,選擇排序屬於非常好的一種。
排序過程:
資料結構與演算法 C 實現選擇排序
選擇排序 首先找到陣列中最小的元素,其次,將它與陣列中第乙個元素交換位置 再次,從剩下的陣列中找到最小的元素並與第二個元素交換位置 不斷地選擇剩餘元素中的最小者。includeusing namespace std void choicesort int a,int n t a i a i a mi...
資料結構與演算法 排序 選擇排序
資料結構與演算法 排序 選擇排序 sort selectsort include includevoid selectsort int list,int len if print list,len for selectsort int minkey int list,int i,int len if...
資料結構與演算法 選擇排序
選擇排序 從小到大 的基本思想是,首先,選出最小的數,放在第乙個位置 然後,選出第二小的數,放在第二個位置 以此類推,直到所有的數從小到大排序。在實現上,我們通常是先確定第i小的數所在的位置,然後,將其與第i個數進行交換。下面,以對 3 2 4 1 進行選擇排序說明排序過程,使用min index ...