1 回答
TA贡献1824条经验 获得超5个赞
参考一下吧。
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void show(int number) //将排序后的数字输出
{
cout<<number<<endl;
}
int main()
{
vector<int> getnumber;
int x;
int i=0;
do{
cout<<"please enter a number,when you enter 0,this will end"<<endl;
cin>>x;
getnumber.push_back(x);
}while(x!=0);
int j=getnumber.size();
int t;
for(i=0;i<j;i++)
{
for(int m=j-1;m>i;m--)
{
if(getnumber[m-1]>getnumber[m])
{
t=getnumber[m-1];
getnumber[m-1]=getnumber[m];
getnumber[m]=t;
}
}
}
cout<<"the result:"<<endl;
for_each(getnumber.begin(),getnumber.end(),show);
return 0;
}
for_each第一个参数和第二个参数是指定范围的,如果是容器,那么就那么写,如果是数组,就写指针,第三个参数的调用函数的名字,就是说对于第一个参数和第二个参数指定范围之中的每一个元素都会带入到第三个参数指定的函数中去。
添加回答
举报