欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java中鏈表的實例-創(chuàng)新互聯(lián)

這篇文章主要介紹java中鏈表的實例,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)公司主營企業(yè)營銷型網(wǎng)站建設(shè),為眾多企業(yè)提供了品牌網(wǎng)站制作服務(wù),建網(wǎng)站哪家好?擁有多年的網(wǎng)絡(luò)營銷推廣流程,能夠為企業(yè)定制化制作網(wǎng)站服務(wù),在公司網(wǎng)站建設(shè)維護方面成績突出。

LinkedList使用了循環(huán)雙向鏈表數(shù)據(jù)結(jié)構(gòu)。與基于數(shù)組ArrayList相比,這是兩種截然不同的實現(xiàn)技術(shù),這也決定了它們將適用于完全不同的工作場景。

鏈表(Linked list)是一種常見的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),是一種線性表,但是并不會按線性的順序存儲數(shù)據(jù),而是在每一個節(jié)點里存到下一個節(jié)點的指針(Pointer)。

使用鏈表結(jié)構(gòu)可以克服數(shù)組鏈表需要預(yù)先知道數(shù)據(jù)大小的缺點,鏈表結(jié)構(gòu)可以充分利用計算機內(nèi)存空間,實現(xiàn)靈活的內(nèi)存動態(tài)管理。但是鏈表失去了數(shù)組隨機讀取的優(yōu)點,同時鏈表由于增加了結(jié)點的指針域,空間開銷比較大。

實例:

package com.ys.link;

public class DoublePointLinkedList {
    private Node head;//頭節(jié)點
    private Node tail;//尾節(jié)點
    private int size;//節(jié)點的個數(shù)
    
    private class Node{
        private Object data;
        private Node next;
        
        public Node(Object data){
            this.data = data;
        }
    }
    
    public DoublePointLinkedList(){
        size = 0;
        head = null;
        tail = null;
    }
    
    //鏈表頭新增節(jié)點
    public void addHead(Object data){
        Node node = new Node(data);
        if(size == 0){//如果鏈表為空,那么頭節(jié)點和尾節(jié)點都是該新增節(jié)點
            head = node;
            tail = node;
            size++;
        }else{
            node.next = head;
            head = node;
            size++;
        }
    }
    
    //鏈表尾新增節(jié)點
    public void addTail(Object data){
        Node node = new Node(data);
        if(size == 0){//如果鏈表為空,那么頭節(jié)點和尾節(jié)點都是該新增節(jié)點
            head = node;
            tail = node;
            size++;
        }else{
            tail.next = node;
            tail = node;
            size++;
        }
    }
    
    //刪除頭部節(jié)點,成功返回true,失敗返回false
    public boolean deleteHead(){
        if(size == 0){//當(dāng)前鏈表節(jié)點數(shù)為0
            return false;
        }
        if(head.next == null){//當(dāng)前鏈表節(jié)點數(shù)為1
            head = null;
            tail = null;
        }else{
            head = head.next;
        }
        size--;
        return true;
    }
    //判斷是否為空
    public boolean isEmpty(){
        return (size ==0);
    }
    //獲得鏈表的節(jié)點個數(shù)
    public int getSize(){
        return size;
    }
    
    //顯示節(jié)點信息
    public void display(){
        if(size >0){
            Node node = head;
            int tempSize = size;
            if(tempSize == 1){//當(dāng)前鏈表只有一個節(jié)點
                System.out.println("["+node.data+"]");
                return;
            }
            while(tempSize>0){
                if(node.equals(head)){
                    System.out.print("["+node.data+"->");
                }else if(node.next == null){
                    System.out.print(node.data+"]");
                }else{
                    System.out.print(node.data+"->");
                }
                node = node.next;
                tempSize--;
            }
            System.out.println();
        }else{//如果鏈表一個節(jié)點都沒有,直接打印[]
            System.out.println("[]");
        }
    }

}

以上是java中鏈表的實例的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:java中鏈表的實例-創(chuàng)新互聯(lián)
文章路徑:http://chinadenli.net/article0/dgpioo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、面包屑導(dǎo)航、搜索引擎優(yōu)化用戶體驗、網(wǎng)站排名、網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司