您的位置:首页 > 编程语言 > C语言/C++

C++之选择排序算法

2016-03-29 15:44 246 查看
       选择排序(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");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 选择