c++中怎样将vector中的元素倒序输出?
发布网友
发布时间:2022-05-01 13:59
我来回答
共5个回答
热心网友
时间:2023-05-24 09:26
#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;
}
}
这个示例就可以,欢迎提问哈。
热心网友
时间:2023-05-24 09:27
#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;
}
热心网友
时间:2023-05-24 09:27
先把迭代器指向末尾,从后往前遍历vector即可
热心网友
时间:2023-05-24 09:28
#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);
}
}
热心网友
时间:2023-05-24 09:28
正确而优雅的方法 应该去使用
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;
}
类似这样
C++如何实现vector里面的元素循环?
如果想输出vector中的元素值,就用迭代器,比如对于你这个例子,如果是vector<short>型的容器,用于输出的迭代器类型就是 vector<short>::const_iterator; 如果是为了对容器录入元素,就用push_back()容器操作。在特定位置插入元素,就用insert()方法。 flowercutsjia | 发布于2011-12-15 举报| 评论 0 0 用迭代...
c/c++ 将vector<string> 中的内容 传递给可变参数接口
输出“list=%s”,将第一个元素输出。遍历list除了第一个元素以外的剩下数据,输出“,%s”
(C++)将string型vector中的元素复制到char型数组中。。出错!
1、把word转换为其他字符组合,因为windows下word是一种数据类型,会有风险;2、 char *p = new char[text.size() + 1];这句有错误,请楼主查阅vector的size()方法返回值代表的是什么。最笨的方法就是在vector中逐个string的长度相加获得字符串的长度,最后要加1....
C++中 vector中存储结构体(输出vector时遇问题)
test是像容器一样的, 里面的元素是temp,你如果要输出,应该是cout<<test[0].s 这里的test[0]就是 test.push_back(temp) 里的temp啦
c++的标准输出std::cout,如何使用?
1、首先在V语言中,注意函数是定义在头文件<algorithm>。故在使用之前要定义头文件:#include<algorithm>,如下图所示。2、vector类型的用法,这种类型需要使用内置的迭代器来确定first,middle和last的位置,如下图所示。3、然后输出结果:初始为:1 2 3 4 5 6 7 ,旋转结果: 3 4 5 6 7 1 2...
c++ vector的插入问题
c++中容器元素都是副本。就是说,vector中添加元素的时候,是将元素值复制到容器里。就是说容器中存放的是原始元素的副本。被复制的原始值与新容器中的元素各不相关,此后,容器内元素值发生变化时,被复制的原值不会受到影响,反之亦然。你自己可以写个程序验证下。例如;vector<string> vs;string s=...
c++中怎么查找vector的位子
→_→,第一种方法:下标。第二种方法:find 算法,获得你想要查找元素值的位置的迭代器
vector中元素在内存中是连续存储的吗?如果是string类型的元素呢?
vector中的元素在内存中确实是连续存储的. vector的实现是由一个动态数组构成. 当空间不够的时候, 采用类似于C语言的realloc函数重新分配空间. 正是因为vector中的元素是连续存储的, 所以vector支持常数时间内完成元素的随机访问. vector中的iterator属于Random Access Iterator.如果vector储存的是string类型....
如何获得vector中的元素
直接使用下标运算符进行访问.include <vector> include <iostream> using namespace std;int main(){ vector<int> ivec; //定义一个向量 ivec.push_back(1);cout<<ivec[0]<<endl; //输出向量中的首元素 return 0;}
C++中,如何将两个vector中的值整合到另一个vector中?
个人见解:容器C和A、B中元素类型不同,迭代器类型就不同,所以不能用容器算法。只有容迭代器遍历赋值吧:for(vecA::const_iterator itA = vecA.begin(), VecB::const_iterator itB = vecB.begin();itA != vecA.end() && itB != vecB.end(); itA++, itB++){ C c;c.c1 = (*...