您的位置:首页 > 编程语言

编程之美3.7,队列中的最大值操作问题

2012-05-24 21:57 225 查看
解法三中,采用两个栈的方式建立一个队列,其中stack支持的方法有:

1,pop()

2,push()

3,max()

其中在push()和pop()过程中需要动态修改最大值,其中采用link2NextMaxItem[]数组保存当前元素的上一级最大元素,这里需要理解其中的原理,为什么这样可以?

其中必须理解stack的特性,先进后出的性质,这样书上的操作是正确的,每次进来的数值,只和已经进栈的最大值比较,并且记录旧的最大值位置,而不用记录后面入栈的数值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: