c++選擇排序詳解
更新時間:2017年05月30日 12:19:42 作者:傻蝸牛
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是每一次從無序組的數(shù)據(jù)元素中選出最?。ɑ蜃畲螅┑囊粋€元素,存放在無序組的起始位置,無序組元素減少,有序組元素增加,直到全部待排序的數(shù)據(jù)元素排完。
選擇排序,作為八大經(jīng)典算法之一,雖不如插入,快速,希爾等排序高效,但其結(jié)構(gòu)簡單,思路清晰,適合新手理解算法, 了解排序,適合數(shù)據(jù)較少時的排序情況。
如下是選擇排序的圖解原理
如果說冒泡排序是頂向下,那么選擇排序就是由底向上了,先解決第一個數(shù),再解決第二個數(shù),依次解決整個數(shù)組的排序
如下是全部代碼的實(shí)現(xiàn)
#include <iostream> #include <math.h>//待會會用到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