我刚从课本练习中得到这个问题,说
“可以使用数组来实现堆栈和队列ADT。使用数组更容易实现哪一个?请解释”
我认为使用数组可能不是首先实现堆栈和队列的最佳方法,因为数组中的空间是固定的,除非每次项目溢出后都要调整大小。
我对此没有一个完美的答案,但是使用数组更容易实现其中之一?
我能想到的唯一区别是,使用stack时,您只需要跟踪数组中堆栈的前端,而使用队列时,则需要同时跟踪队列的前端和末尾。
“保持跟踪”是指“存储阵列索引/偏移量”。
除此之外,堆栈和队列上的标准操作在数量上非常相似。push()
,pop()
用于堆栈,和enqueue()
,dequeue()
用于队列,并且两种数据类型都不是特别复杂或难以实现的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句