数据接口复习 3 stack and queue
Posted bounce
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据接口复习 3 stack and queue相关的知识,希望对你有一定的参考价值。
stack:
1.top and bottom.统一在top端增加和删除。
Attention:
函数 delete(x) 是将top端的元素删除并且赋值给x
实现:通过linked list实现 。
public class StackLi { public StackLi( ){ topOfStack = null; } public boolean isFull( ){ return false; } public boolean isEmpty( ){ return topOfStack = = null; } public void makeEmpty( ){ topOfStack = null; } public void push( object x ) public object top( ) public void pop( ) throws Underflow public object topAndPop( ) private ListNode topOfStack; }
通过数组实现。
主要的应用:用于进行括号的匹配 尝试编程中因为之前没有怎么用过stack
主要用到的几个方法: add(x),pop(),firstelement()
public void testMatch(String expression){ matchstack=new Stack<Integer>(); int len=expression.length(); for(int i=0;i<len;i++){ char getCh=expression.charAt(i); if(getCh==‘(‘){ matchstack.add(i); }else if(getCh==‘)‘){ try{ matchstack.pop(); }catch(Exception e){ System.out.println(i+"missing 左括号"); } } } while(!matchstack.isEmpty()){ System.out.println(matchstack.firstElement()+"missing 右括号"); matchstack.pop(); } }
表达式:infix expression中缀表达式,也就是我们正常意义上理解的。
posfix expression 后缀表达式 prefix expression 前缀表达式
后缀表达式---->中缀表达式
具体的算法见表达式转换随笔。。
以上是关于数据接口复习 3 stack and queue的主要内容,如果未能解决你的问题,请参考以下文章
C++初阶:STL —— stack and queuestack/queue的介绍及使用 | stack/queue/priority_queue的深度剖析及模拟实现 | 适配器模式 | 仿函数
1.3 Bags, Queues, and Stacks(算法 Algorithms 第4版)
C++初阶:STL —— stack and queuestack/queue的介绍及使用 | stack/queue/priority_queue的深度剖析及模拟实现 | 适配器模式 | 仿函数
C++初阶:STL —— stack and queuestack/queue的介绍及使用 | stack/queue/priority_queue的深度剖析及模拟实现 | 适配器模式 | 仿函数