/*
为了找到第k个小的数,其算法是先将这个数列排序,然后取出
第k个数的元素来自就行,用stl储存数组
*/
#ifndef_FIND_MIN_
#define_FIND_MIN_
#include<vector>
#include<iost360问答ream>
usingnamespacestd;
voidFind_min()止程器玉是体示越船表将{
//首先获得数组
vector<int>ivec;//储存数据
inti_nu完艺穿响项京m,temp,k;//输便外伟距的仅谁频松接入数据,temp用于临时交换数据时储存数据
cout<<"请输入n个整数(ctrl+ztoend):"<<e丰战衡配快粒袁兴ndl;
while(cin>>i_num)
ivec.push_back(i_num);//依次至民剧规磁次储存
//输出数据流
cout<<"你输入的数据流是:"<<endl;
for(vector<int>::size_typei=0;i<ive写件米天房亚呢植胶践坏c.size();万较水板核活铁++i)
cout<<ivec[i]<<"";
cout<<endl;
//开始排序
for(即本聚迅vector<int>::si非克振名测振卷即作ze_typei=0;i<ivec.size();++今社迅菜苏i)
for(vector<int>::size_typej断模真识限再血五通居=i+1;j<ivec.s溶亚首自六气ize();++j)
if(iv光望蒸正答答就稳节ec[j]<ivec[i])
{temp=ivec[i];ivec[i]=ivec[j];ivec[j]评香文国迫故育=temp;}
//交换创岁指告二波皮够学传数据
cin.clear();cin.sync();//刷新数据流
cout<<"请输入你想要的第k个小的数的k:"<<endl;
cin>>k;
//输出排序后的数据流
cout<<"为了便于你思考,排序后的数据流是(你就很容易找到):"<<endl;
for(vector<int>::size_typei=0;i<ivec.size();++i)
cout<<ivec[i]<<"";
cout<<endl;
cout<<"第k个小的数是:"<<ivec[k-1]<<endl;
//输出k元素
}
#endif
标签:vector,用法,具体