c++中怎样将vector中的元素倒序输出?
6个回答
展开全部
#include<stdio.h>
#include<vector>
#include <iostream>
using namespace std;
void main()
{
int i = 0;
vector<int> v;
for( i = 0; i < 10; i++ )
{
v.push_back( i );//把元素一个一个存入到vector中
}
vector<int>::iterator iter;
for( iter = v.end()-1; iter != v.begin()-1; iter-- )
{
cout << *iter << endl;
}
}
这个示例就可以,欢迎提问哈。
展开全部
#include<vector>
#include<iostream>
int main(){
typedef std::vector<int> vec;
vec d;
for(int i = 0; i != 10; ++i) d.push_back(i);
for(vec::const_reverse_iterator p = d.rbegin(), q = d.rend(); p != q; ++p) std::cout<<*p<<" ";
std::cout<<"\n";
return 0;
}
或
#include<vector>
#include<iterator>
#include<iostream>
int main(){
std::vector<int> d;
for(int i = 0; i != 10; ++i) d.push_back(i);
copy(d.rbegin(), d.rend(), std::ostream_iterator<int>(std::cout, " "));
std::cout<<"\n";
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先把迭代器指向末尾,从后往前遍历vector即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<vector>
#include<iostream>
using namespace std;
int main()
{
vector<int> vec;
for(int i = 1;i<=6;i++)
vec.push_back(i);
for(int j = 0;j<6;j++)
{
for(vector<int>::iterator ite = vec.begin();ite!=vec.end();ite++)//做遍历打印
cout<<*ite<<" ";
cout<<endl;
int temp = *vec.begin();
vec.erase(vec.begin());//vec擦掉其值加
vec.push_back(temp);
}
}
#include<iostream>
using namespace std;
int main()
{
vector<int> vec;
for(int i = 1;i<=6;i++)
vec.push_back(i);
for(int j = 0;j<6;j++)
{
for(vector<int>::iterator ite = vec.begin();ite!=vec.end();ite++)//做遍历打印
cout<<*ite<<" ";
cout<<endl;
int temp = *vec.begin();
vec.erase(vec.begin());//vec擦掉其值加
vec.push_back(temp);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正确而优雅的方法 应该去使用
reverse_iterator
typedef std::vector<int> vt_type;
vt_type vt;
// insert code ...
for(vt_type::const_reverse_iterator i = vt.rbegin(), isize = vt.rend(); i != isize; ++i)
{
std::cout << *i << std::endl;
}
类似这样
reverse_iterator
typedef std::vector<int> vt_type;
vt_type vt;
// insert code ...
for(vt_type::const_reverse_iterator i = vt.rbegin(), isize = vt.rend(); i != isize; ++i)
{
std::cout << *i << std::endl;
}
类似这样
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询