單向鍊錶: 插入刪除效率比陣列高
//建立節點 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...