美文网首页数据结构
数据结构题目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:销毁一个线性链表

    题目:销毁一个线性链表.解题思路:所谓销毁一个线性链表就是指将链表中所有链结点删除,并释放其占用的存储空间,使之成...

  • 常见数据结构和算法

    常见数据结构 线性数据结构(按顺序具有数据元素的数据结构):数组,堆栈,链表(单链表 双链表),队列非线性数据结...

  • 数据结构题目23:复制一个线性链表

    题目:复制一个线性链表 解题思路:已知一个线性链表,要产生一个与已知线性链表完全等价的另外一个线性链表。这里假设已...

  • 链表、递归、堆、Hashmap、归并排序算法

    java数据结构——链表 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的...

  • Java链表

    一、链表介绍 数组和链表都是最基础的线性数据结构,可以用来实现栈,队列等非线性,有特定应用场景的数据结构。数组作为...

  • 树的实现

    前面写那么多文章都是是线性数据结构的探索.无论数组,链表,栈,队列都是线性数据结构我们看到了线性数据结构的大多数时...

  • 看动画学算法之:二叉搜索树BST

    简介 树是类似于链表的数据结构,和链表的线性结构不同的是,树是具有层次结构的非线性的数据结构。 树是由很多个节点组...

  • 数据结构和算法(三)双向链表与双向循环链表的实现

    数据结构和算法(一)线性表实现 数据结构和算法(二)单向循环链表的创建插入删除实现 数据结构和算法(三)双向链表与...

  • 数据结构和算法(五)栈的操作和实现

    数据结构和算法(一)线性表实现 数据结构和算法(二)单向循环链表的创建插入删除实现 数据结构和算法(三)双向链表与...

  • 数据结构和算法(四)链表相关面试题

    数据结构和算法(一)线性表实现 数据结构和算法(二)单向循环链表的创建插入删除实现 数据结构和算法(三)双向链表与...

网友评论

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

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