c++選擇排序詳解
更新時(shí)間:2017年05月30日 12:19:42 作者:傻蝸牛
選擇排序(Selection sort)是一種簡(jiǎn)單直觀的排序算法。它的工作原理是每一次從無(wú)序組的數(shù)據(jù)元素中選出最?。ɑ蜃畲螅┑囊粋€(gè)元素,存放在無(wú)序組的起始位置,無(wú)序組元素減少,有序組元素增加,直到全部待排序的數(shù)據(jù)元素排完。
選擇排序,作為八大經(jīng)典算法之一,雖不如插入,快速,希爾等排序高效,但其結(jié)構(gòu)簡(jiǎn)單,思路清晰,適合新手理解算法, 了解排序,適合數(shù)據(jù)較少時(shí)的排序情況。
如下是選擇排序的圖解原理
如果說(shuō)冒泡排序是頂向下,那么選擇排序就是由底向上了,先解決第一個(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)編寫(xiě)二維碼的示例代碼
這篇文章主要為大家詳細(xì)介紹如何基于C++實(shí)現(xiàn)編寫(xiě)二維碼的功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-06-06C++ 實(shí)現(xiàn)優(yōu)先隊(duì)列的簡(jiǎn)單實(shí)例
這篇文章主要介紹了C++ 實(shí)現(xiàn)優(yōu)先隊(duì)列的簡(jiǎn)單實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助大家實(shí)現(xiàn)優(yōu)先隊(duì)列,需要的朋友可以參考下2017-08-08