数据结构题目11:插入一个数据信息为item的链结点在第1个链结点前

题目:在非空线性链表的第1个链结点前插入一个数据信息为item的链结点
解题思路:首先从存储库中申请一个新的链结点p,将数据信息item置于新结点的数据域内,然后将第1个结点的指针list送到新结点的指针域内,同时将新结点的地址p赋给list,至此,新结点已经插入到链表的最前端,成为新链表的第1个结点。
具体算法实现如下:
这里我们会用到createLinklist(n)来建立一个线性链表出来。

let list = createLinklist(Math.floor(Math.random()*10))
console.log('创建的list为:', toString(list))

function insertList1(list, item) {
    let p = new Node()
    p.data = item
    p.link = list
    list = p
    return list
}

let r_list = insertList1(list, 'dd')
console.log('插入item后的list为:', toString(r_list))

性能:
算法的时间复杂度为O(1)

你可能感兴趣的:(数据结构题目11:插入一个数据信息为item的链结点在第1个链结点前)