📄 stackqueue.java~12~
字号:
// P122 例 5-24 用接口实现常用数据结构:队列 栈package StackQueue;import javax.swing.UIManager;import java.awt.*;class LinkedList{ // 定义 双向链表类 char data; LinkedList back; LinkedList forward;}interface Access{ // 存取操作的 接口 void put(char c); char get();}class Queue implements Access{ private LinkedList QHead=new LinkedList(); private LinkedList QRear=QHead; public void put(char c){ // 存 数 QRear.forward=new LinkedList(); QRear.forward.data=c; QRear.forward.back=QRear; QRear=QRear.forward; } public char get(){ // 取 数 if(QHead!=QRear){ QHead.forward.back=null; QHead=QHead.forward; return QHead.data; } else{ System.out.println("this queue is empty !"); return '\0'; } }}class Stack implements Access{ private LinkedList bottom=new LinkedList(); private LinkedList top=bottom; public void put(char c){ top.forward=new LinkedList(); top.forward.data=c; top.forward.back=top; top=top.forward; } public char get(){ if (top!=bottom){ char ch=top.data; top.back.forward=null; top=top.back; return ch; } else{ System.out.println("this stack is empty !"); return '\0'; } }}public class StackQueue { public static void main(String[] args) { char ch; Queue qu=new Queue(); Stack st=new Stack(); qu.put('1'); qu.put('2'); System.out.println("queue: "); if((ch=qu.get())!='\0') System.out.println(ch); if((ch=qu.get())!='\0') System.out.println(ch); if((ch=qu.get())!='\0') System.out.println(ch); System.out.println("stack: "); st.put('1'); st.put('2'); if((ch=st.get())!='\0') System.out.println(ch); if((ch=st.get())!='\0') System.out.println(ch); if((ch=st.get())!='\0') System.out.println(ch); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -