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

如果說冒泡排序是頂向下,那么選擇排序就是由底向上了,先解決第一個(gè)數(shù),再解決第二個(gè)數(shù),依次解決整個(gè)數(shù)組的排序
如下是全部代碼的實(shí)現(xiàn)
#include <iostream>
#include <math.h>//待會(huì)會(huì)用到swap交換函數(shù)
using namespace std;
int main()
{
int a[10];
//輸入數(shù)據(jù)
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]);
}
}
//輸出數(shù)據(jù)
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
仔細(xì)研究發(fā)現(xiàn),其和冒泡排序的方法差距不大。
相關(guān)文章
C++ 實(shí)現(xiàn)優(yōu)先隊(duì)列的簡單實(shí)例
這篇文章主要介紹了C++ 實(shí)現(xiàn)優(yōu)先隊(duì)列的簡單實(shí)例的相關(guān)資料,希望通過本文能幫助大家實(shí)現(xiàn)優(yōu)先隊(duì)列,需要的朋友可以參考下2017-08-08

