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

    /**
     * 双端链表操作
     * Create by Administrator
     * 2018/6/14 0014
     * 下午 2:05
     **/
    class Link1 {
    
        public long dData;
        public Link1 next;
    
        public Link1(int id) {
            this.dData = id;
        }
    
        public void displayLink() {
            System.out.print(dData + " ");
        }
    }
    
    public class FirstLastList {
    
        private Link1 first;
        private Link1 last;
    
        public FirstLastList() {
            this.first = null;
            this.last = null;
        }
    
        public boolean isEmpty(){           //判断链表是否为空
            return (first == null);
        }
    
        public long deleteFirst(){
            long temp = first.dData;
            if(first.next == null){
                last = null;
            }
            first = first.next;
            return temp;
        }
    
        public void insertFirst(int id){
            Link1 link = new Link1(id);
            if(isEmpty()){
                last = link;
            }
            link.next = first;          //储存对象的引用
            first = link;               //把当前对象赋值给first
        }
    
        public void  insertLast(int id){
            Link1 newLink = new Link1(id);
            if (isEmpty()){
                first = newLink;
            }else {
                last.next = newLink;
            }
            last = newLink;
        }
    
        public void displayList(){
            System.out.print("List (first-->last): ");
            Link1 current = first;
            while(current != null){
                current.displayLink();
                current = current.next;
            }
            System.out.println("");
        }
    
        public static void main(String[] args) {
            FirstLastList theList = new FirstLastList();
    
            theList.insertFirst(22);
            theList.insertFirst(44);
            theList.insertFirst(66);
    
            theList.insertLast(11);
            theList.insertLast(33);
            theList.insertLast(55);
    
            theList.displayList();
    
            theList.deleteFirst();
            theList.deleteFirst();
    
            theList.displayList();
        }
    }
    

      

  • 相关阅读:
    使用 Docker 安装 Jenkins 的最佳方式
    使用 Docker 在 Linux 上托管 ASP.NET Core 应用程序
    分布式缓存 Redis 集群搭建
    [译]RabbitMQ教程C#版
    如何解决 React 官方脚手架不支持 Less 的问题
    [译]RabbitMQ教程C#版
    [译]RabbitMQ教程C#版
    快速签发 Let's Encrypt 证书指南
    [译]RabbitMQ教程C#版
    [译]RabbitMQ教程C#版
  • 原文地址:https://www.cnblogs.com/chancy/p/9186167.html
Copyright © 2011-2022 走看看