【发布时间】:2020-02-14 12:29:37
【问题描述】:
我的作业中有这个问题,解决方案指出我们必须有两个指向索引,一个在开头,一个在最后一个元素,我们可以从最后一个元素前进到中间,分别从第一个元素到中间.但是,我的解决方案是在中间设置一个索引,最后一个索引,最后一个索引将移动到中间,而中间索引将移动到开始。但我对我的解决方案有什么问题感到困惑
问题:
需要两堆正整数:一个包含值小于或等于1000的元素,另一个包含值大于1000的元素。小值堆栈和大值堆栈中的元素总数总和在任何时候都不会超过 500,但我们无法预测每个堆栈中有多少。 (最初两者都是空的;后来堆栈可以被平均划分,或者所有元素都可以在小值堆栈中,等等。)出于效率原因,我们希望使用单个大小数组来实现两个堆栈500. 你能想办法做到这一点吗
【问题讨论】:
-
我很难在这里看到实际的问题,你能澄清一下程序应该做什么吗?
-
我的第一反应是“堆栈没有随机访问”,但随后分配明确表示使用数组,它没有这个限制。有可能是未指定。无论哪种方式,询问此作业的人都是你的老师,而不是互联网上的随机数。
-
我也会从头到尾添加,需要两个索引(虽然分配很奇怪......)