c++選擇排序詳解
更新時間:2017年05月30日 12:19:42 作者:傻蝸牛
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是每一次從無序組的數據元素中選出最小(或最大)的一個元素,存放在無序組的起始位置,無序組元素減少,有序組元素增加,直到全部待排序的數據元素排完。
選擇排序,作為八大經典算法之一,雖不如插入,快速,希爾等排序高效,但其結構簡單,思路清晰,適合新手理解算法, 了解排序,適合數據較少時的排序情況。
如下是選擇排序的圖解原理

如果說冒泡排序是頂向下,那么選擇排序就是由底向上了,先解決第一個數,再解決第二個數,依次解決整個數組的排序
如下是全部代碼的實現
#include <iostream>
#include <math.h>//待會會用到swap交換函數
using namespace std;
int main()
{
int a[10];
//輸入數據
for(int i=0;i<10;i++)
{
cin>>a[i];
}
//排序
for(int i=0;i<10;i++)
{
for(int j=i;j<10;j++)
{
if(a[i]>a[j])swap(a[i],a[j]);
}
}
//輸出數據
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
仔細研究發(fā)現,其和冒泡排序的方法差距不大。

