TC++中大数组如何生成?

alvinj 2003-09-12 03:19:56
问题是这样的:随机生成10的1、2、3、4、5、6次方个随机数,然后用多种算法进行排序,计算所用时间。

我计划是这样的:分别生成10的1、2、3、4、5、6次方个随机数,分别保存在a,b,c,d,e,f数组中,排序后的数组为a1、b1、c1、d1、e1、f1、
现在各种排序算法我已经写好了,但是生成数组时却说数组太大了,生成不了。请各位高手指点?可以的话请写上代码,100分相送。
...全文
34 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZhangYv 2003-09-12
  • 打赏
  • 举报
回复
TC下是开不了太大数组的,在DOS下Free PASCAL可以开大数组,WIN下DEV-C++也可以。
mme 2003-09-12
  • 打赏
  • 举报
回复
无论你怎么弄,总之tc里面每次申请内存不能超过64k
mme 2003-09-12
  • 打赏
  • 举报
回复
呵呵,用huge可以做到,不过要用点技巧
就是申请一些小一点的数组,自己管理它。
方法一:用2级指针把小的数组连接成一个大的数组
方法二:自己用函数方法管理小的数组。使用起来跟大数组一样。
比如取一个数[2][1000000]就用函数 arraygetvalue(2,1000000);这样来实现。
jeary2210 2003-09-12
  • 打赏
  • 举报
回复
我认识基本上不会用到这么在的数组吧,太夸张了,10^6个数,还要6个这样的数组,夸张郁闷啊
Caoyu015 2003-09-12
  • 打赏
  • 举报
回复
在vc中不能分配4M大小的动态内存吗。
alvinj 2003-09-12
  • 打赏
  • 举报
回复
谢谢各位的指点,不过之前我已经用VC试过了,TC也试过用HUGE模式,但还是同样提示ARRARY TO LARGE,看来生成一个[6][1000000]的数组真的不容易啊。
TO bigbigbigsoft:我也不想这样进行算法测试,那是老师要求的,:(
bigbigbigsoft 2003-09-12
  • 打赏
  • 举报
回复
如果你还是用TC,可以将编译模式改称huge。
还有如果你计算10^6方个数字的排序,对于小内存的计算机来因为你的内存使用量太大,可能会产生大量交换文件,这样计算时间会有严重影响。你的计算时间达到一定的等级就行了,没有必要用那么多数据测试。
dddd8888 2003-09-12
  • 打赏
  • 举报
回复
用VC6。0试试
flc 2003-09-12
  • 打赏
  • 举报
回复
对了换个编辑器
arfi 2003-09-12
  • 打赏
  • 举报
回复
TC下有多种编译模式,一般默认是小模式,这样的程序有64K的限制。
我也不清楚如何应用其它模式突破此限制,但是你可以换个编译器呀,VC呀,gcc等等都没这种限制。

64,633

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧