⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stackqueue.java

📁 提供了常用的JAVA技术的示例
💻 JAVA
字号:
// 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;        // 可以把接口看成一种数据类型,不需要了解对象所对应的具体的类。        Access qu=new Queue();        Access st=new Stack();        //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 + -