#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> A;
int x;
cout<<"Please input some numbers:";
while(cin>>x)
A.push_back(x);
for(vector<int>::size_type i=0;i<A.size()-1;++i)//这里只需要对前n-1个元素进行排序,因为每一次得到的都是第i小的元素,故前n次得到的是前n个元素,剩下的一定是最大的元素
{
int m=i;
for(vector<int>::size_type j=i+1;j<A.size();++j)
{
if(A[m]>A[j])
{
m=j;
}
}
int x;
x=A[i];
A[i]=A[m];
A[m]=x;
}
for(vector<int>::size_type k=0;k<A.size();++k)
cout<<A[k]<<" ";
cout<<endl;
}
算法导论第二版2.2-2 答案
最新推荐文章于 2018-09-26 23:21:18 发布