我有一个使用数组的双向链表,在插入元素时我保持顺序,类似于。我将新值(节点)视为数组索引,并将它们直接存储到它们的位置。链接列表相当长。那是 search from head() 因此,为了减少迭代,我在发现新节点离头部和尾部更近之后添加了然后,我添加了一个位于头部和尾部中间的中间节点。但是当节点需要链接时,我仍然不能减少迭代次数。知道取值范围会有帮助吗?
Push(A)Pop Push(C) Pop 这将导致我得到这个线性列表:C
但是,这看起来像一个数组吗?据我所知,它应该是X,C,因为堆栈的顶部是头部,其他所有东西都是底部(尾部),所以在这种情况下,C必须是尾部,X是头部,这就是X,C。如果“最后一个”是第一个被移除的,那么按照这个逻辑,数组看起来就像C,X,不是吗?由于X是最后添加到堆栈中的..