書接上文,下面是選擇排序。
選擇排序是最容易想到也是最容易實現的排序方式。
*主要思想
n個元素的陣列,每次從原陣列中找到最小的乙個元素,將這個元素加入新陣列,再把這個元素從元陣列中刪除,就完成了一次選擇。
經過n-1次選擇後原陣列中剩下乙個元素,就是最大的乙個元素,將他加入新陣列裡,就完成了選擇排序。
這個**就貼了,大家都懂,兩層迴圈嘛。
選擇排序是比較基本的排序,比較容易超時。
其實還有另一種選擇排序,不過思想差不多,只不過在乙個陣列裡面就可以完成了。
主要思想
假設給第i個元素排序時,我們只要找到這個元素後面的元素中最小的乙個元素,然後和它交換位置即可。(因為i個元素之前的元素在前面的排序時已經有序)
關鍵**
void xuanze(int start ,int end)//start是排序起點,end是終點;
{ for(int i=start;i<=end;i++)//每個點;
{ for(int j=i+1;j<=end;j++)列舉這個點後面的點;
{ if(a[j]
排序之選擇排序
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。乙個長度為n的待排序列,先找出 0,n 1 區間內最小的數,放在第一位,再找出 2...
排序之選擇排序
二 選擇排序 1 選擇排序 區間在不斷地變小 基本思想 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。首先,選出最小的數放在第一位,然後選擇第二小的數,放在...
排序之選擇排序
選擇排序的基本思想是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。直接選擇排序 在待排序元素集合array i array n 1 中選擇關鍵碼最大 小 的資料元素 若它不是這組元素中的最後乙個 第乙個 元素,則將它與這組元素中的最後乙個...