对于不知道数组长度,需要自己输入,该怎么定义数组?

如果不知道数组长度,需要自己输入一个数组长度,那么数组初始化怎么定义,,,
例如: 输入N个数,冒泡排序,
输入   N   ;
输入   N个 数(数组中的下标  0-(N-1) )
输出   排序后的内容

(各位大神们,求告知,就是不知道怎么初始化数组)

不胜感激!!!1 
全部评论
用集合ArrayList
点赞 回复 分享
发布于 2016-09-29 15:24
C语言 int n; scanf("%d", &n); int arr[n]; c99标准就支持了变量长度数组了吧。 C++直接用vector array都行
点赞 回复 分享
发布于 2016-09-29 20:16
getline,自己解析
点赞 回复 分享
发布于 2016-09-29 18:40
c++的话vector就好。 或者你可以用指针new,只不过这个很烦,而且容易错,而且忘记释放会内存泄露,而且没必要。 最推荐的还是竞赛式的,int a[100000],一般来说会实现给出数据大小的,不要觉得开的大浪费内存了,无所谓的,做题重要的是AC,是快。如果你有某种强迫症,就是不想浪费内存,你可以用N的大小初始化vector。比如vector<int> vec(N, 0); 就声明了一个大小为N的vector,所有元素都置为0。但是这个我还是不推荐。 总结,就以题目中给出的数据大小的最大值(多一点)直接声明数组:int a[MAX]; 然后你还可以了解一下memset这种东西,头文件是<string.h>。 多写写就会了~
点赞 回复 分享
发布于 2016-09-29 17:54
没有长度就 gets 直接读一行字符串
点赞 回复 分享
发布于 2016-09-29 17:32
cpp vector,虽然效率会差一些
点赞 回复 分享
发布于 2016-09-29 17:03
c的话malloc+memset
点赞 回复 分享
发布于 2016-09-29 16:59
1.ACM里面的做法 一般ACM的题目里会给出数据范围,根据该范围在全局区开辟一个数组: int num[1000]; 然后程序中: cin>>n; for(int i=0;i<n;i++) cin>>num[i]; ACM里面比较注重效率,所以静态分配内存,也可以动态分配内存,需要多少空间就分配多少。 vector<int> num; cin>>n; num.assign(n,0); for(int i=0;i<n;i++) cin>>num[i]; 想一般笔试使用第二种就可以了!
点赞 回复 分享
发布于 2016-09-29 15:33
c语言就用指针加malloc
点赞 回复 分享
发布于 2016-09-29 15:26
各位走过路过的大牛们,求告知,谢谢,这样的问题现在编程用的太普遍了  ,实在不知道怎么初始化数组
点赞 回复 分享
发布于 2016-09-29 15:23

相关推荐

来个大佬救一下,为上投了都是石沉大海了,没实习经历的话怕秋招直接进不了面。什么实习这么难找,基本
心态爆炸了:现在正式的岗位都少,实习基本不咋招的,除了大厂,中小企业其实没那么多岗位需求,就算是有,大多都是招一两个廉价劳动力,同时,他们也会希望你一来就能干活的,没时间培训你,就让你了解公司的项目,你了解完就可以开始干活。再者是,很多低质量的实习其实用处没有那么大的。我去年也是找实习找到破防,最后去了一家深圳的小公司实习,工作对我来说很简单,甚至不如我在学校做的项目,秋招的时候,这段实习经历也并没有帮上什么忙,投递简历,依旧非常低的回复率。低回复率是常态,尤其是找实习,找不到,那就把重心放在优化自己的简历和项目,多看八股文,锻炼自己的面试能力,多看别人的面经,自己模拟面试,等秋招的时候,只要有那么寥寥几次,好好抓住那几次机会。
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务