数据结构题目15:插入一个数据信息为item的链结点在线性链表中第i个链结点后面

题目:在线性链表中第i个链结点后面插入一个数据信息为item的链结点
解题思路:首先从第1个结点出发,找到第i个链结点,然后再将新链结点插入其后。若插入成功,算法返回链表;否则返回-1.
具体算法实现如下:
这里我们会用到createLinklist(n)来建立一个线性链表出来

function insertList4(list, i, item) {
    let p, q=list
    let j=1
    while( j<i && q!=null ){
        q = q.link
        j++
    }
    if (j!=i || q==null) {
        console.log("链表中不存在第i个链结点!")
        return -1
    }
    p = new Node(item, null)
    p.link = q.link
    q.link = p
    return list
}

var list = createLinklist(10)
console.log('创建的list为:', toString(list))

var r_list = insertList4(list, 5, 'bb')
console.log('插入item后的链表为:', toString(r_list))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。