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

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

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

不胜感激!!!1 
全部评论
用集合ArrayList
点赞 回复 分享
发布于 2016-09-29 15:24
各位走过路过的大牛们,求告知,谢谢,这样的问题现在编程用的太普遍了  ,实在不知道怎么初始化数组
点赞 回复 分享
发布于 2016-09-29 15:23
c语言就用指针加malloc
点赞 回复 分享
发布于 2016-09-29 15:26
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+memset
点赞 回复 分享
发布于 2016-09-29 16:59
cpp vector,虽然效率会差一些
点赞 回复 分享
发布于 2016-09-29 17:03
没有长度就 gets 直接读一行字符串
点赞 回复 分享
发布于 2016-09-29 17:32
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
getline,自己解析
点赞 回复 分享
发布于 2016-09-29 18:40
C语言 int n; scanf("%d", &n); int arr[n]; c99标准就支持了变量长度数组了吧。 C++直接用vector array都行
点赞 回复 分享
发布于 2016-09-29 20:16

相关推荐

工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点???&nbsp;还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力…………&nbsp;感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务