• 数据结构之线性表


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

    线性表

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

    顺序表

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

    链表

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    【数据结构】优先队列和堆
    【ACM非算法部分】读入优化
    【解题报告】[动态规划]RQNOJ
    【解题报告】[动态规划]RQNOJ
    【解题报告】[动态规划]-PID69 / 过河卒
    【解题报告】[动态规划]
    【解题报告】[动态规划]RQNOJ PID2 / 开心的金明
    扫描线矩形周长的并 POJ1177
    fft模板 HDU 1402
    离线树状数组 hihocoder 1391 Countries
  • 原文地址:https://www.cnblogs.com/qinguoyi/p/10407612.html
Copyright © 2020-2023  润新知