資料結構 鍊錶 單向鍊錶

2022-08-22 02:57:12 字數 1570 閱讀 6441

單向鍊錶: 插入刪除效率比陣列高

//

建立節點 node

class node

}class list

//追加節點

//將值變為節點

let newnode = new

node(element);

//判斷是否為空鍊錶

if (this.head == null

) else

current.next =newnode;

}//長度必須加1

this.length++;

}isempty()

return

false

; }

clear()

size()

tostring(callback)

}//在任意位置新增乙個節點/元素

insert(position, element)

//建立新節點

let newnode = new

node(element);

let current = this

.head;

//在頭部插入

if (position == 0)

//在尾部插入

else

if (position == this

.length)

current.next =newnode;

}//在中間插入

else

newnode.next =current.next;

current.next =newnode;

}this.length++;

return

true

; }

//在當前資料中的第乙個匹配的元素的下標

indexof(element)

//// 不相等 繼續遍歷

//current = current.next;//}

//方法二

let index = 0

while

(current)

//不相等 繼續遍歷

current =current.next;

index++;

}//遍歷結束後仍未找到

//返回-1

return -1;

}//移除特定位置的節點

//0

removeat(position)

//尾

else

if (position == this.length - 1)

previous.next = null

; }

//中間

else

//將當前節點的next指向當前節點的下乙個節點的下乙個節點

current.next =current.next.next

}this.length--;

return

true

; }

remove(element)

}

資料結構 鍊錶 單向鍊錶

鍊錶 linked list 是由一連串的結構 稱為結點 組成的,其中每個結點都包含指向鏈中下乙個結點的指標。鍊錶中的最後乙個結點包含乙個空指標。鍊錶與陣列不同,陣列的線性序是由陣列的下標決定的,而鍊錶中的順序是由各結點的指標域所決定的。鍊錶可以靈活地表示動態集合。採用鍊錶表示線性表,無論向表中插入...

資料結構 鍊錶 單向鍊錶

鍊錶 linked list 是由一連串的結構 稱為結點 組成的,其中每個結點都包含指向鏈中下乙個結點的指標。鍊錶中的最後乙個結點包含乙個空指標。鍊錶與陣列不同,陣列的線性序是由陣列的下標決定的,而鍊錶中的順序是由各結點的指標域所決定的。鍊錶可以靈活地表示動態集合。採用鍊錶表示線性表,無論向表中插入...

資料結構 單向鍊錶

鍊錶結構的資料格式儲存 include stdafx.h 把這行放在最開始。include includeusing namespace std typedef struct data typedef struct node 這裡與上面的不同是多了node,注意如果沒有這個node,下面的struc...