“做一堆”;“动态”;(C)
对于一项任务,我要使代码实现完全动态。我们的教授为我们提供了一个.c文件,它有几个实现,比如pop和push。我们预定义的堆栈容量是128。我们要通过检查堆栈上的推操作是否超过预定义的堆栈容量,使其成为“动态的” 我有点搞不清楚该怎么做。我不能在某个地方包含一个if语句来检查容量是否大于堆栈,如果大于,只需分配两倍的容量并创建一个新的堆栈就可以了吗 感谢您的任何想法。将评论转换为答案“做一堆”;“动态”;(C),c,C,对于一项任务,我要使代码实现完全动态。我们的教授为我们提供了一个.c文件,它有几个实现,比如pop和push。我们预定义的堆栈容量是128。我们要通过检查堆栈上的推操作是否超过预定义的堆栈容量,使其成为“动态的” 我有点搞不清楚该怎么做。我不能在某个地方包含一个if语句来检查容量是否大于堆栈,如果大于,只需分配两倍的容量并创建一个新的堆栈就可以了吗 感谢您的任何想法。将评论转换为答案 是的,您可以在某个地方添加if语句,但是push()函数是最好的方法。这是最好的,因为这是一个地方,你知道,更多
是的,您可以在某个地方添加
if
语句,但是push()
函数是最好的方法。这是最好的,因为这是一个地方,你知道,更多的能力是需要的,如果你在目前的限制。除非您有一个“增加容量”函数,否则只有push()
函数需要增加堆栈,因此这是测试是否需要向堆栈添加更多内存的唯一相关位置
请注意,当前堆栈大小有一个固定的上限。你需要把它变成一个变量。请记住仔细考虑初始化条件。是的,您可以在某个地方添加
if
语句,但是push
函数是执行此操作的最佳位置。这是最好的,因为这是一个你知道如果你在当前限制下需要更多容量的地方。请阅读:@JonathanLeffler:“这是一个你知道如果你在当前限制下需要更多容量的地方”你应该将其作为答案发布:'D