C++之选择排序算法

来源:互联网 发布:java简单项目 编辑:程序博客网 时间:2024/06/06 05:37

       选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法

       选择排序便于理解,第一趟,找出最小值与第一个元素交换

                                       第二趟,从第二个元素开始,找出最小值与第二个元素交换

                                       第三趟,从第三个元素开始,找出最小值与第三个元素交换

#include<iostream>#include<vector>#include<algorithm>using namespace std; void Output(int val) { cout<<val<<' '; }int main(){vector<int>myvec;myvec.push_back(23);myvec.push_back(223);myvec.push_back(243);myvec.push_back(223);    myvec.push_back(323);myvec.push_back(723);myvec.push_back(233);myvec.push_back(523);myvec.push_back(253);for(unsigned int i=0;i<myvec.size();i++)//选择排序{for(unsigned int j=i+1;j<myvec.size();j++){int k=i;if(myvec[j]<myvec[k]){k=j;}if(k!=i)    {    int temp=myvec[i];    myvec[i]=myvec[k];    myvec[k]=temp;    }}}for_each(myvec.begin(),myvec.end(),Output);system("pause");}


0 0
原创粉丝点击