线性表:
线性结构是最简单且最常用的数据结构。线性表是一种典型的线性结构。
顺序表是用向量实现的线性表,向量的下标可以看作结点的相对地址。因此顺序表的的特点是逻辑上相邻的结点其物理位置亦相邻。
顺序表上实现的基本运算:表的初始化、求表长、取表中第i个结点、查找值为x的结点、插入、删除等。
链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。
算法的时间复杂度是O(n)。链表上实现的插入和删除运算,无须移动结点,仅需修改指针。
循环链表是一种首尾相接的链表。
双(向)链表中有两条方向不同的链,即每个结点中除next域存放后继结点地址外,还增加一个指向其直接前趋的指针域prior。
顺序表和链表各有短长。在实际应用中究竟选用哪一种存储结构呢?这要根据具体问题的要求和性质来决定。