C++创建动态数组
比如说我有很多数,但我不知道具体个数,我现在想要一次输入所有的数并得到排序的结果。不是要那种每输入一个数按回车运行一次记录数据的方式,我觉得那样很麻烦。求高人指点!...
比如说我有很多数,但我不知道具体个数,我现在想要一次输入所有的数并得到排序的结果。
不是要那种每输入一个数按回车运行一次记录数据的方式,我觉得那样很麻烦。
求高人指点! 展开
不是要那种每输入一个数按回车运行一次记录数据的方式,我觉得那样很麻烦。
求高人指点! 展开
2个回答
展开全部
直接用vector就好啦
include<vector>
include<algorithm>
include<iostream>
using namespace std;
int main()
{
vector<int> data;
int number;
while(cin >> number)
data.push_back(number);
sort(data.begin(), data.end());
return 0;
}
大概流程就是这样吧。
编译完exe,然后依次输入数字就好了,
如果真想亲自建动态数组的话用new
int * data = new int [n];
这样就建立了1 * n 的数组了。
include<vector>
include<algorithm>
include<iostream>
using namespace std;
int main()
{
vector<int> data;
int number;
while(cin >> number)
data.push_back(number);
sort(data.begin(), data.end());
return 0;
}
大概流程就是这样吧。
编译完exe,然后依次输入数字就好了,
如果真想亲自建动态数组的话用new
int * data = new int [n];
这样就建立了1 * n 的数组了。
更多追问追答
追问
int * data = new int [n];
用了这个后还是要指定数字个数吧?
追答
这个n可以是动态的,也就是在编译期间是未知的。
比如 n来自于 cin >> n; 来自于用户的输入。。
还有需要注意的是用完data后,
需要写语句: delete [] data; 来释放内存
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询