| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3099 人关注过本帖
标题:[求助]如何反向输出vector
取消只看楼主 加入收藏
ichigo
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-5-27
收藏
 问题点数:0 回复次数:5 
[求助]如何反向输出vector

//: C02:Fillvector.cpp
// Copy an entire file into a vector of string
#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main()
{
vector<string> v;
ifstream in("Fillvector.cpp");
string line;
while (getline(in, line))
v.push_back(line); // Add the line to the end
// Add line numbers;
for(int i = 0; i < v.size(); i++)
cout << i << ": " << v[i] << endl;
} ///:~


在书上看到这个例子
题目是修改Fillvector.cpp使他能从后向前打印各行
如果用for递减,从末尾向开头输出,出现错误
我知道如果换一个容器可能就可以了
但是还是需求一下使用vector反向输出的方法
或者从最后一行开始反过来存入vector
谢谢大家帮忙

[此贴子已经被作者于2007-8-2 15:23:16编辑过]

搜索更多相关主题的帖子: vector 输出 
2007-08-02 15:22
ichigo
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-5-27
收藏
得分:0 
多谢~~~~~~~~
想问个问题,函数res起了什么作用..我有点没明白,只知道有个递归
最后输出好象是把vector从最末的一元素最先输出,为什么我直接反过来输出不行呢
2007-08-02 16:45
ichigo
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-5-27
收藏
得分:0 
明白了,谢谢
2007-08-02 16:53
ichigo
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-5-27
收藏
得分:0 
以下是引用aipb2007在2007-8-2 16:38:20的发言:
最好用迭带器

给个具体点的...

2007-08-02 16:53
ichigo
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-5-27
收藏
得分:0 
以下是引用medicihophy在2007-8-2 17:19:18的发言:

#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main()
{
vector<string> v;
ifstream in("Fillvector.cpp");
string line;
while (getline(in, line))
v.push_back(line);
for(int i = v.size()-1; i>=0; i--)
cout << i << ": " << v[i] << endl;
}
才发现我是多此一举,可以直接倒着输出啊

怪了...我也这么写的..可是就不行啊...
我写的是for( int i = v.size(); i>0; i--)

2007-08-03 12:04
ichigo
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-5-27
收藏
得分:0 
以下是引用HJin在2007-8-3 10:02:19的发言:

#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main()
{
vector<string> v;
ifstream in(__FILE__);
string line;
while (getline(in, line))
v.push_back(line);

int i=v.size();
for(vector<string>::const_reverse_iterator it=v.rbegin(); it!=v.rend(); ++it)
cout << i-- << ": " <<*it << endl;

return 0;
}


Thanks

2007-08-03 12:13
快速回复:[求助]如何反向输出vector
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023567 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved