zoukankan      html  css  js  c++  java
  • 数据结构之线性表

    基本数据结构:链表(list)

    线性表

      线性表通过存储结构可以分为顺序表和链表,其中顺序表是顺序结构(数组)存储的线性表,链表是链式结构存储的线性表。

    顺序表

       顺序表是通过顺序结构存储的线性表,一般通过动态数组实现,也可以通过vector实现(vector底层是顺序表,实质为用顺序表实现顺序表)。

    链表

      链表中存储空间不连续。链表的最小单位为结点,结点分为数据域和指针域,存储数据信息元素的域称为数据域,存储直接后继位置的域称为指针域。n个结点链结成一个链表,链表结点中只包含一个指针域称为单链表,若结点中还有存储直接前驱位置的指针称为双向链表。

      (1)链表中为什么要设立头结点?

      头结点的设立为了操作的统一,统一体现在,有了头结点,对在第一元素结点前插入结点或删除第一结点,其操作就和其他结点的操作统一了。

      (2)头指针和头结点的区别?

      头指针是链表指向第一个结点的指针,若有头结点,则是指向头结点的指针。头指针是链表的必须要素,头结点非必须,只是为了操作统一。

      空链表,是指头结点的指针域为空。一般的链表中,尾结点的指针域为空。

      (3)链表实现时,如何判断链表中是否有头结点?

      创建链表时,先创建头结点,结点的指针域指向NULL;遍历、添加、删除元素时,循环的索引从1开始。

      单向链表,单向循环链表,双向链表,双向循环链表

  • 相关阅读:
    Selenium生成Report的利器- ExtentReports
    学习使用monkey 测试
    charles 结合mocky 模拟数据
    Vue.use()源码分析且执行后干什么了
    commonjs 与 es6相关Module语法的区别
    vue函数化组件 functional
    html5细线表格制作
    移动端H5页面禁止长按复制和去掉点击时高亮
    javascript生成器
    promise和生成器的结合
  • 原文地址:https://www.cnblogs.com/qinguoyi/p/10407612.html
Copyright © 2011-2022 走看看