数据结构之线性表

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

线性表

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

顺序表

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

链表

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

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

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

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

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

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

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

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

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

 

posted @ 2019-02-20 16:50  两猿社  阅读(297)  评论(0编辑  收藏  举报