链表的介绍
链表是一种物理结构(非逻辑结构),类似于数组
链表不是连续的数据结构,而是由一系列的节点组成,节点之间通过指针连接
链表节点的数据结构{value,next,prev}
链表VS数组
数组需要一段连续的内存区间,而链表是零散的
链表和数组都是有序结构链表:查询慢O(n),新增和删除快O(1)
数组:查询快O(1),新增和删除慢O(n)
通过JS来实现对链表的反转
function createLinkList(arr:number[]):ILinkListNode{
const length=arr.length
if(length===0) throw new Error('arr is empty')
let curNode:ILinkListNode = {
value:arr[length-1]
}
if(length===1) return curNode
for(let i=length-2;i>=0;i--){
curNode={
value:arr[i],
next:curNode
}
}
return curNode
}