資料結構 自定義鍊錶

2021-09-19 11:08:55 字數 1589 閱讀 2947

public

class

linkedlist

public

node

(e e)

public

node()

@override

public string tostring()

}private node dummyhead;

private

int size;

public

linkedlist()

// 獲取鍊錶中的元素個數

public

intgetsize()

// 返回鍊錶是否為空

public

boolean

isempty()

// 在鍊錶的index(0-based)位置新增新的元素e

// 在鍊錶中不是乙個常用的操作,練習用:)

public

void

add(

int index, e e)

// 在煉表頭新增新的元素e

public

void

addfirst

(e e)

// 在鍊錶末尾新增新的元素e

public

void

addlast

(e e)

// 獲得鍊錶的第index(0-based)個位置的元素

// 在鍊錶中不是乙個常用的操作

public e get

(int index)

// 獲得鍊錶的第乙個元素

public e getfirst()

// 獲得鍊錶的最後乙個元素

public e getlast()

// 修改鍊錶的第index(0-based)個位置的元素為e

// 在鍊錶中不是乙個常用的操作,練習用:)

public

void

set(

int index, e e)

// 查詢鍊錶中是否有元素e

public

boolean

contains

(e e)

return

false;}

// 從鍊錶中刪除index(0-based)位置的元素, 返回刪除的元素

// 在鍊錶中不是乙個常用的操作

public e remove

(int index)

// 從鍊錶中刪除第乙個元素, 返回刪除的元素

public e removefirst()

// 從鍊錶中刪除最後乙個元素, 返回刪除的元素

public e removelast()

// 從鍊錶中刪除元素e

public

void

removeelement

(e e)

if(prev.next != null)

}@override

public string tostring()

res.

("null");

return res.

tostring()

;}}

自定義鍊錶

鍊錶是非連續 無順序的資料結構,鍊錶中元素與元素之間的記憶體位址沒有順序關係。鍊錶由乙個個結點組成,結點中儲存兩類資訊,第一類是儲存入結點的資料,第二類是結點的指向。鍊錶分為單項鍊表,雙向鍊錶,環形鍊錶,單項鍊表中只有乙個結點指向,指向的的下乙個結點的記憶體位址,只能單向移動,單項操作 雙向鍊錶有兩...

自定義鍊錶

author qcg version 2019 5 6.description 自定義鍊錶 頭尾部的兩步操作 1.插入節點 next指向node 2.變更節點 last指標後移 node.next insertnode 這是插入元素的操作 public class mylinkedlist node...

自定義鍊錶

大多數人使用鍊錶都是看了一遍懵懵懂懂的,想要真正學習的人建議潛下心來自定義乙個鍊錶試試,自己搭建高樓大廈和看別人搭建是兩碼事,在自定義的過程中會明白自己建立的美妙感覺 public class node public node node privious,node next,object eleme...