鍊錶總結(4)

2021-09-29 05:32:53 字數 2115 閱讀 6822

雙向鍊錶

1.鍊錶的結點

class

node

public

node

(int data)

}

2.煉表頭插

public

class

doublelist

public

void

addfirst

(int elem)

node.next = head;

head.prev = node;

head = node;

}}

3.尾插

public

void

addlast

(int elem)

last.next = node;

node.prev = last;

last = node;

}

4.指定位置插入

public

void

addindex

(int index,

int elem)

if(index ==0)

if(index ==

size()

) node node =

newnode

(elem)

; node next =

search

(index)

;//找出該位置的結點,將給定的結點插入該位置之前

node prev = next.prev;

node.next = next;

next.prev = node;

prev.next = node;

node.prev = prev;

}

5.是否包含某元素

public

boolean

contains

(int key)

cur = cur.next;

}return

false

;}

6.刪除給定元素

public

void

remove

(int key)

else

else

}return

;//返回

} cur = cur.next;

}}

7.刪除給定值所有結點

public

void

removeallkey

(int key)

}else

else}}

cur = cur.next;

}}

相比較6,這裡只用刪掉return,讓cur遍歷完鍊錶。

8.清空鍊錶

public

void

clear()

this

.head = null;

this

.last = null;

}

9.列印鍊錶

public

void

display()

system.out.

println()

;}

10.鍊錶長度

private

intsize()

return size;

}

11.查詢給定位置的元素

private node search

(int index)

return cur;

}

12.在test中測試

public

class

testdoublelist

public

static

void

addf()

}

鍊錶專題 4 鍊錶

鍊錶是一大堆節點合起來連起來組成的表的總稱。其中每個節點中都有指標變數指向列表中的下乙個節點。鍊錶中第乙個節點被稱之為表頭 head 所以將第乙個節點的指標變數命名為head。最後乙個節點並沒有神馬特殊的名字,但是它 最後乙個節點 有一項特殊的屬性 最後乙個節點將null作為最後乙個變數的值 所以檢...

鍊錶 鍊錶環問題總結

給定乙個單鏈表,只給出頭指標h 1 如何判斷是否存在環?2 如何知道環的長度?3 如何找出環的連線點在 4 帶環鍊錶的長度是多少?1 如何判斷是否存在環?對於問題1,使用追趕的方法,設定兩個指標slow fast,從頭指標開始,每次分別前進1步 2步。如存在環,則兩者相遇 如不存在環,fast遇到n...

資料結構 鍊錶4 企業鍊錶

linklist.h ifndef linklist h define linklist h include include 鍊錶結點 typedef struct linknode linknode 鍊錶 typedef struct linklistlinklist 比較函式指標 typedef...