對鍊錶的研究

2022-06-23 19:45:10 字數 1334 閱讀 5253

鍊錶

有點像⽕⻋,⻋廂和⻋廂之間鏈結,有點是可以隨時替換⻋廂,react最新架構的fifiber,就是從樹變成

了鍊錶,能夠讓diffff任務隨時中斷

}// 移除指定位置元素

removeat(position) else

this.current = this.head

while (index < position)

previous.next = this.current.next

}this.length--}}

// 在指定位置加⼊元素

insert (position, element) else

previous.next = node // 在⽬標位置插⼊相應元素

node.next = current

}this.length++}}

// 鍊錶中是否含有某個元素, 如果有的話返回相應位置, ⽆的話返回 -1

indexof(element)

this.current = this.current.next

index++

}return -1

}// 移除某元素

remove(element)

// 獲取⼤⼩

size ()

// 獲取最開頭的鍊錶

gethead ()

// 是否為空

isempty ()

// 列印鍊錶元素

log ()

console.log(str)

return str}}

// 測試⽤例

var linkedlist = new linkedlist()

linkedlist.log() // '5 10 15 20'

linkedlist.removeat(1)

linkedlist.log() // '5 15 20'

linkedlist.insert(1, 10)

linkedlist.log()

索引: o(n)

搜尋: o(n)

插⼊: o(1)

移除: o(1)

集合

對鍊錶的操作

這段 沒有主函式,如果想要實現的話 將其放在 h 檔案中呼叫就可以了 如果閒麻煩的話可以直接在這段 後面加乙個主函式,試著呼叫各個函式,觀其功能。對鍊錶的操作函式 void creat 建立鍊錶 bool insert 插入鍊錶 void search 查詢鍊錶 bool del 刪除鍊錶 void...

對鍊錶的綜合操作

對鍊錶的綜合操作 功能有建立,排序,插入,刪除,輸出 include include typedef int elemtype typedef struct nodetype nodetype,linktype linktype create p2 next null free p1 return ...

對鍊錶進行排序

對鍊錶進行排序 參考的思路是來自於這位 哥們 definition for singly linked list.struct listnode class solution listnode rt sort head return rt listnode sort listnode begin 鍊...