java單鏈表的使用總結

2021-09-11 18:55:29 字數 1247 閱讀 9340

鍊錶是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列節點(鍊錶中的每乙個元素稱為節點)組成,節點可以在執行時動態生成。每個節點包含兩個部分:乙個是儲存資料元素的資料域,另乙個是儲存下乙個節點位址的指標域。相對於線性表順序結構,操作複雜。由於不必按順序儲存,鍊錶在插入的時候可以達到o(1)的複雜度,比另一種線性表順序表快得多,但查詢乙個節點或者訪問特定編號的節點則需要o(n)的時間,而線性表和順序表相應的時間複雜度分別是o(logn)和o(1)。

鍊錶的優勢

鍊錶的缺點

定義乙個節點類

public class listnode 

//將陣列的值賦給鍊錶

public listnode getlist(int sums)

return dummyhead.next;

}//將鍊錶的值賦給list並列印

public void showlist(listnode listnode)

for (int i = 0; i < list.size(); i++)

}/**

* leetcode第二題

** 給出兩個非空的鍊錶用來表示兩個非負的整數,

* 其中,它們各自的位數是按照逆序的方式儲存的,

* 並且它們的每乙個節點只能儲存一位陣列。

* @param l1

* @param l2

* @return

*/public listnode addtwonumbers(listnode l1, listnode l2)

if (carry > 0)

return dummyhead.next;

}}

測試方法

public class main ;

int b = ;

listnode curr=new listnode(0);

listnode l1=curr.getlist(a);

// curr.showlist(l1);

listnode l2=curr.getlist(b);

// curr.showlist(l2);

listnode l3=curr.addtwonumbers(l1,l2);

curr.showlist(l3);

}}

輸入[2,4,3],[5,6,4]

輸出[7,0,8]

Java單鏈表的實現

package com.handy.ds author handy 2012 3 15 class node public node int data,node next public class singlelinkedlist param head the head to set public ...

Java單鏈表的反轉

前段時間有同事面試,給面試的人都提乙個演算法問題那就是單鏈表的反轉,好多小夥伴都不會,或者表示一聽演算法就懵逼了,自己寫了乙個。就是5 4 6 8 9 1 2 7,反轉輸出7 2 1 9 8 6 4 5,我自己寫的反轉有兩種方式。一種是遞迴,一種是遍歷,也是很普通的兩種方式。一 遞迴的方式 先看圖 ...

java單鏈表實現

class node 非空節點 public node object obj description 注 在這裡鍊錶預設都是帶有頭節點 資料域為空 version 1.0 author meify 2013 7 29 下午3 36 19 public class linklist 往單鏈表頭部插入節...