zoukankan      html  css  js  c++  java
  • java学习之—链表(3)

    /**
     * 使用链表实现队列
     * Create by Administrator
     * 2018/6/19 0019
     * 下午 4:37
     **/
    public class Link {
    
        public long dData;
        public Link next;
    
        public Link(long d){
            this.dData = d;
        }
    
        public void displayLink(){
            System.out.print(dData + " ");
        }
    }
    
    class FirstLastList{
    
        private Link first;
    
        private Link last;
    
        public FirstLastList(){
            this.first = null;
            this.last = null;
        }
    
        public boolean isEmpty(){
            return first == null;
        }
    
        public void insertLast(long dd){
            Link newLink = new Link(dd);
            if(isEmpty()){
                first = newLink;
            }else {
                last.next = newLink;
            }
            last = newLink;
        }
    
        public long deleteFirst(){
            long temp = first.dData;
            if(first.next == null){
                last = null;
            }
            first = first.next;
            return temp;
        }
    
        public void displayList(){
            Link current = first;
            while (current != null){
                current.displayLink();
                current = current.next;
            }
            System.out.println("");
        }
    }
    
    class LinkQueue{
        private FirstLastList theList;
    
        public LinkQueue(){
            this.theList = new FirstLastList();
        }
        public boolean isEmpty(){
            return theList.isEmpty();
        }
    
        public void insert(long j){
            theList.insertLast(j);
        }
    
        public long remove(){
            return theList.deleteFirst();
        }
    
        public void displayQueue(){
            System.out.print("Queue (front-->rear): ");
            theList.displayList();
        }
    
        public static void main(String[] args) {
            LinkQueue linkQueue = new LinkQueue();
            linkQueue.insert(20);
            linkQueue.insert(40);
    
            linkQueue.displayQueue();
    
            linkQueue.insert(60);
            linkQueue.insert(80);
    
            linkQueue.displayQueue();
    
            linkQueue.remove();
            linkQueue.remove();
    
            linkQueue.displayQueue();
        }
    }
    

      

  • 相关阅读:
    安装python官方的mysql库“mysql-connector-python”
    ubuntu(Mint-17)修改dns
    Updating Protobuf and GRPC in Golang
    git切换到远程分支
    ubuntu下取代ping的好工具tcpping
    为什么利率上升,债券价格下降?
    关于债券之我的疑惑
    GitHub超详细图文攻略
    git——从远程库克隆
    git——添加远程库
  • 原文地址:https://www.cnblogs.com/chancy/p/9199391.html
Copyright © 2011-2022 走看看