数据结构
文章平均质量分 80
wc_3344
这个作者很懒,什么都没留下…
展开
-
中缀表达式转后缀表达式求值
中缀表达式转后缀表达式是数据结构栈和队列很好的应用例子。难点主要就在于如何将中缀表达式转换为后缀表达式的问题上。下面就是转换的规则和需要注意的地方。 首先需要开一个栈和队列。栈用作临时的存储空间。队列则用于存放最终的后缀表达式。 中缀表达式转后缀表达式的规则: 1.开始在栈中压入一个#。然后从中缀表达式的左边开始遍历,如果遇到数字直接放入队列。如果是操作符则和栈顶比较, 如果优先级大于原创 2012-08-17 17:07:29 · 630 阅读 · 0 评论 -
循环队列实现(C++)
循环队列:队列有着先入先出的特性。但是对于队列如果删除队头以后剩下的空间将不会被释放,又由于队列只能由队尾插入这就导致 被删除部分的空间被浪费。解决这个问题就是循环队列。循环队列顾名思义就是将队列串起来形成一个类似与环的结构。如图所示。对照着图很容易理解: 对于原来队列里的操作自然有不同的地方: 1.判断满:循环队列的满不再是rear=front 而是改成(rear-front+maxn)%原创 2012-08-20 14:10:27 · 2358 阅读 · 0 评论 -
优先队列
优先队列是队列的一种,和普通队列一样只有入队,出队,取队头等操作。并不提供查找操作。但是区别于普通队列的先入先出,优先队列按照数据的优先等级出队。对于每次的入队和出队优先队列都会按照数据的优先级做动态的调整。 1.优先队列默认的是数据大的作为高的优先级。因此在将一系列数据入队以后,最终最大的数据将在队头即q.top()的位置。 priority_queueint> q; 标准的模板库中默认使原创 2012-08-22 15:52:05 · 619 阅读 · 0 评论