選擇排序(selection sort)是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
------摘自維基百科
選擇排序的主要優點與資料移動有關。如果某個元素位於正確的最終位置上,則它不會被移動。選擇排序每次交換一對元素,它們當中至少有乙個將被移到其最終位置上,因此對 n個元素的表進行排序總共進行至多 n-1次交換。在所有的完全依靠交換去移動元素的排序方法中,選擇排序屬於非常好的一種。
------摘自維基百科
原理和優點,維基百科解釋的很清楚,就不贅述了
下面是實現的**
#include using namespace std;
void swap(int *a,int *b) //交換函式
int main()*/
cout<<"請輸入你要排序的數的個數"<>n;
cout<<"請輸入你要排序的"<>a[i];
for(i=0;ia[j]) //從小到大排序,後面的比前面的大就交換
swap(&a[i],&a[j]);}}
cout<<"排好序後的結果是:"
return 0;
}
7 簡單選擇排序 選擇排序
選擇排序 思想是先想象有乙個有續集 最開時是空集 經過一次次迴圈,每次拿出後面所有剩餘元素的最小元素放入到前面有續集中並保證有續集任然有序,直到所有的元素都放入為止 選擇排序的方法 void selectsort data type ar,int left,int right void select...
7 簡單選擇排序 選擇排序
選擇排序 思想是先想象有乙個有續集 最開時是空集 經過一次次迴圈,每次拿出後面所有剩餘元素的最小元素放入到前面有續集中並保證有續集任然有序,直到所有的元素都放入為止 選擇排序的方法 void selectsort data type ar,int left,int right void select...
程式設計練習 選擇排序
問題描述 假設使用者通過鍵盤輸入乙個整形數列。編寫乙個程式,將其按照從小到大的順序重新排列。問題分析 假設有n個資料將要參與排序操作,則具體的排序過程可以描述為 首先從n個資料中選擇乙個最小的資料,並將它交換到第1個位置 然後再從後面n 1個資料中選擇乙個最小的資料,並將它交換到第2個位置 依次類推...