怎样保存不确定数目的变量
C++控制台程序,输入任意数目的int型数值,怎样能将其保存起来?我只会用数组保存,但是这里数组的长度不确定,请问如何保存。
[解决办法]
用vector
[解决办法]
#include <vector>#include <iostream>using namespace std;int main(){ vector<int> ivec; int i; while (cin>>i) { ivec.push_back(i); } vector<int>::const_iterator iter = ivec.begin(); for (; iter != ivec.end(); ++iter) { cout<<*iter<<" "; } return 0;}
[解决办法]
对用vector
[解决办法]
#include<iostream>#include <vector>#include<iterator>#include<sstream>#include<algorithm>using namespace std;int main(){ vector<int>result; copy(istream_iterator<int>(cin),istream_iterator<int>(),back_inserter(result)); copy(result.begin(),result.end(),ostream_iterator<int>(cout,"\n")); system("pause");}
[解决办法]
vector<int> result;
for(int i=0;i<xxx;i++)
result.push_back(i);
[解决办法]
vector 是STL的一个类,它的长度可以变化,用法是
std::vector<int/*你要存储数据的类型*/ v1;
[解决办法]
第一段代码有个错误,少了一个 '>',应为
std::vector<int/*你要存储数据的类型*/> v1;
[解决办法]
不使用vector的方法
int n ;cin >> n ;int *test = new int [n] ;//分配空间delete [] x ;//删除空间
[解决办法]
用new最简单了
[解决办法]
要么用vector
要么自己实现一个简易的vector
自己定义一个类
里面放int*作为数组
int num作为已使用的元素
当元素满了就再new大一点的空间
[解决办法]
用链表
[解决办法]
用vector