算法导论10.1-2习题解答(用一个数组实现两个栈)

CLRS 10.1-2 :

说明如何用一个数组A[1...n]来实现两个栈,使得两个栈中的元素总数不到n时,两者都不会发生上溢。注意PUSH和POP操作的时间应为O(1)。

解法:

用top1指向数组第一个元素,用top2指向数组最后一个元素,然后PUSH的时候,它们向中间进发,POP的时候向相应的方向减一。

posted on 2011-04-16 12:33  NULL00  阅读(1801)  评论(0编辑  收藏  举报

导航