线性表
一种逻辑结构,相同数据类型的n个数据元素的有限序列,除第一个元素外,每个元素有且仅有一个直接前驱,除最后一个元素外,每个元素有且仅有一个直接后继。
(1)元素个数有限 (2)逻辑上元素有先后次序(3)数据类型相同 (4)仅讨论元素间的逻辑关系
常以栈、队列、字符串等特殊形式使用
队列是一种操作受限的线性表, 只允许在表的一端进行插入, 而在表的另一端进行删除.其特点为”先进先出(FIFO)”,故又称为先进先出的线性表
栈是一种只允许在一端进行插入或删除操作的线性表。其特点为:先进后出(FILO)/后进先出(LIFO);
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。
循环链表:最后一个结点的指针域的指针又指回第一个结点的链表;
链表结点包含两个指针,一个指针是指向下一个结点的,另一个指针当然就是指向上一个结点的。