关于STL中for_each的具体用法

来源:百度知道 编辑:UC知道 时间:2024/05/21 02:52:28
我很想知道。。
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

void main(void)
{

vector<int>::iterator it; //声明迭代器
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<<endl;
for_each(getnumber.begin(),getnumber.end(),show);
//迭代器的输出使用
}

void show(vector<int>&number) //将排序后的数字输出
{
cout<<

参考一下吧。
#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第一个参数和第二个参数是指定范围的,如果是容器,那么就那么写,如果是数组,就写指针,第三个参数的调用函数的名字,就是说对于第一个参数和第二个