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

#include <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);
for(int i = v.size()-1; i>=0; i--)
cout << i << ": " << v[i] << endl;
}
原来的代码纯粹是搞笑就给改了!楼主的问题好像不存在哦!不知道是啥问题?

[此贴子已经被作者于2007-8-2 17:20:58编辑过]


2007-08-02 16:33
medicihophy
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2007-7-28
收藏
得分:0 

其实vector就是个多功能数组

[此贴子已经被作者于2007-8-2 17:21:56编辑过]


2007-08-02 16:37
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
最好用迭带器

Fight  to win  or  die...
2007-08-02 16:38
ichigo
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-5-27
收藏
得分:0 
多谢~~~~~~~~
想问个问题,函数res起了什么作用..我有点没明白,只知道有个递归
最后输出好象是把vector从最末的一元素最先输出,为什么我直接反过来输出不行呢
2007-08-02 16:45
medicihophy
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2007-7-28
收藏
得分:0 

VC里只是警告而已,可以运行,当然不太规范,但在.Net或比较高版本里的应该是被看成错误!

[此贴子已经被作者于2007-8-3 20:06:58编辑过]


2007-08-02 16:49
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
medicihophy
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2007-7-28
收藏
得分:0 

#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;
}
才发现我是多此一举,可以直接倒着输出啊


2007-08-02 17:19
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 

#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;
}


I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-08-03 10:02
快速回复:[求助]如何反向输出vector
数据加载中...
 
   



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

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