您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java鏈表是什么意思,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
頭插:
1.如果要插入的數據沒有結點 先給它裝入一個節點中Node node=new Node();
node.value=0;
2.讓原來的第一個結點成為新節點的下一個結點node.next=head;
3.更新最新的第一個結點為新節點 head=node;
尾插;
1.如果沒在節點中,先裝到節點中
1.5讓新結點的next=null
Node node=new Node(val);構造方法中已經讓 。next=null了
2.找到倒數第一個結點(子問題)找到.next=null的節點
Node last=head;
while(last.next!=null){last=last.next;}
last 就是最后一個結點
3.讓原來的倒數第一個結點的下一個結點為新節點
last.next=node;
尾插分情況討論1.空鏈表的情況 就是讓新的節點成為第一個結點
2.非空(上面方式)
頭刪:直接讓head指向head.next,返回head
尾刪:(分情況)
如果head為空,空鏈表無法刪除
如果head.next為空,直接讓head指向null(只有一個)
至少兩個:1.找到倒數第二個結點
lastSecond.next.next==null;//就是倒數第二個結點
2.讓倒數第二個結點的next=null;(倒數第二個變為倒數第一個,做到尾刪)
3.原來最后一個結點因為沒有引用指向而被回收
反轉鏈表:
1.不斷地從原來鏈表中取出結點,頭插到一個新鏈表上;
2.需要一個新鏈表,并且是空的鏈表
Node result=null;//result新鏈表的第一個結點的引用
3.遍歷原來的鏈表
Node cur=head;
while(cur!=null){
cur=cur.next;
}
4.把每個遍歷到的結點(cur)。頭插到新鏈表(result代表)中
11.已經有結點
12.cur.next=result;
13.更新最新的第一個結點result=cur;
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java鏈表是什么意思”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。