线性表有两种方式:
1.顺序线性表 (也就是用数组实现的,在内存中有顺序排列,通过改变数组大小实现)
2.链表 (不是用顺序实现的,用指针实现,在内存中不连续!)
顺序线性表的缺点:
1.插入和删除操作需要移动大量的元素。在顺序表上插入和删除平均要移动一半的元素。
2.表的容量难以确定。因为数组的长度要提前声明。
3.数组要求占用连续的存储空间,即使存储单元数超过所需要的数目,如果不连续也不能用。 而链式存储就没有这种缺点,每一个结点都是程序员自己向计算机申请的,如果不需要的话就会释放掉,将内存返还给系统,而且表的容量是确定的,各个节点的存储地址是不连续的,各个节点通过自己的数据域存储信息,通过指针域来存储下一个结点的信息。但如果一个结点的指针域数据丢失了,那他的下一个结点就找不到了。
单链表的构建有头插和尾插两种方法,无论是哪一种方法都需要从空表的构建开始。头插法就是新插入的每一个结点都在头节点之后,最先插入的节点变为尾节点,而尾插法是每个插入的结点都是插在链表的最后,作为尾节点出现的。
以上就是我对所讲的线性表的理解和认识