【笔试】25、栈和队列
来源:互联网 发布:顶尖数据恢复的注册码 编辑:程序博客网 时间:2024/05/04 08:02
用两个栈实现一个队列。队列的声明如下,请实现他的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
/** *题目:用两个栈实现一个队列。队列的声明如下,请实现他的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 *时间:2015年8月27日09:52:06 *文件:CQueue.java *作者:cutter_point */package bishi.Offer50.y2015.m08.d27;import java.util.*;public class CQueue<T>{private Stack<T> stack1;private Stack<T> stack2;public CQueue(){stack1 = new Stack<T>();stack2 = new Stack<T>();}/** * 给队列末尾添加一个元素 * @param element */public void appendTail(final T element){stack1.push(element);}/** * 删除队首元素 * @return * @throws Exception */public T deleteHead() throws Exception{T p;if(stack2.empty()) //如果stack2是空的{if(stack1.empty()){throw new Exception("队列为空");}//ifelse{//把栈1中元素移动到栈2中while(!stack1.empty()){p = stack1.pop();stack2.push(p);}//while}//else}//ifreturn stack2.pop();}public static void Test(char actual, char expected){if (actual == expected)System.out.print("Test passed.\n");elseSystem.out.print("Test failed.\n");}public static void main(String[] args) throws Exception{CQueue<Character> queue = new CQueue<Character>();//我们自定义的队列//添加三个元素,a,b,cqueue.appendTail('a'); queue.appendTail('b'); queue.appendTail('c');//看看我们的队列是否是按照队列的方式工作的char head = queue.deleteHead();Test(head, 'a');head = queue.deleteHead();Test(head, 'b');queue.appendTail('d');head = queue.deleteHead();Test(head, 'c');queue.appendTail('e');head = queue.deleteHead();Test(head, 'd');head = queue.deleteHead();Test(head, 'e');}}
0 0
- 【笔试】25、栈和队列
- java笔试题--模拟栈和队列
- 笔试题6. 栈和队列的互换
- 栈和队列--队列
- 【栈和队列】队列
- 【java笔试系列四】Java实现栈Stack和队列Queue
- 【java笔试系列四】Java实现栈Stack和队列Queue
- 笔试面试之栈实现队列
- 笔试题:用两个栈实现队列
- 栈与队列相关笔试题
- 【IT笔试面试题整理】堆栈和队列
- 栈、队列和优先队列
- 栈和队列(队列)
- 网易笔试:构造队列
- 笔试题-4-两个栈实现一个队列
- 栈和队列--栈
- 【栈和队列】栈
- 栈和队列
- jQuery知识积累
- 正则表达式【正则表达式30分钟入门教程】
- 麦肯锡—思考
- LeetCode-Triangle
- Oracle中的Truncate和Delete语句
- 【笔试】25、栈和队列
- 循环下载图片,跳过不可用url
- android apk与apk 之间互相通信--如何自定义权限
- 视图
- android面向holder编程,再度封装代码
- org.apache.hadoop中遇到的API记录
- POJ 2513 Colored Sticks (Trie树,欧拉通路,并查集)
- 显卡NVIDIA,AMD,ATI的区别
- POJ 3026 Borg Maze(BFS+最小生成树)