鍊錶的虛擬頭結點

2021-10-24 02:28:45 字數 886 閱讀 6658

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()

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

public

void

addfirst

(e e)

//在鍊錶中間新增元素,找到待新增節點的前乙個節點,修改指標

public

void

add(

int index,e e)

if(index==0)

else

// node node = new node(e);

// node.next=prev.next;

// prev.next=node;

prev.next=

newnode

(e,prev.next)

; size++;}

}public

void

addlast

(e e)

}

鍊錶虛擬頭結點存在的意義

鍊錶又 資料域 還有指標域 資料結構中,在單鏈表的開始結點之前附設乙個型別相同的結點,稱之為頭結點。頭結點的資料域可以不儲存任何資訊,頭結點的指標域儲存指向開始結點的指標 即第乙個元素結點的儲存位置 作用 1 防止單鏈表是空的而設的.當鍊表為空的時候,帶頭結點的頭指標就指向頭結點.如果當鍊表為空的時...

203 移除鍊錶元素 (虛擬頭結點)

移除鍊錶元素 刪除鍊錶中等於給定值 val 的所有節點。示例 輸入 1 2 6 3 4 5 6,val 6輸出 1 2 3 4 5要判斷刪除的是否為頭結點。class solution 非頭結點需要刪除 listnode p head while p null p next null else re...

頭結點鍊錶練習

這是乙份關於頭結點鍊錶的問題 完成一些基本的煉表處理函式,包括插入,查詢,刪除,輸出等一些功能的實現 include include include linklist.h node creat list 尾插法 int insert last node head,linkdata data 頭插法 ...