美文网首页数据结构
数据结构题目18:销毁一个线性链表

数据结构题目18:销毁一个线性链表

作者: 玲儿珑 | 来源:发表于2020-05-01 02:14 被阅读0次

    题目:销毁一个线性链表.
    解题思路:所谓销毁一个线性链表就是指将链表中所有链结点删除,并释放其占用的存储空间,使之成为一个空表。对于删除链表中的所有链结点,只需设置一个指针变量,先使其指向链表的第1个链结点,然后反复地通过执行赋值语句p=p->link来遍历整个链表,在此过程中删除并释放链结点。
    具体算法实现如下:
    这里我们会用到toString(list))来打印一个线性链表出来。
    这里我们会用到createLinklist(n)来建立一个线性链表出来

    function deleteList(list) {
        let p = list
        while ( p!=null ) {
            list = p.link
            p = null
            p = list
        }
        return list
        
    }
    
    var list = createLinklist(10)
    console.log('创建的list为:', toString(list))
    
    var r_list = deleteList(list)
    console.log('删除item后的链表为:', toString(r_list))
    

    性能:
    时间复杂度为O(n)

    相关文章

      网友评论

        本文标题:数据结构题目18:销毁一个线性链表

        本文链接:https://www.haomeiwen.com/subject/ottfghtx.html