顺序表和链式表的实现
顺序表:
数据项:
存储元素的内存首地址
表的容量
元素的数量
运算:
创建、销毁、清空、插入、删除、访问、查询、修改、排序、遍历
注意点:
1、不要越界
2、时刻保持元素的连续性
优点:支持随机访问,修改、访问、排序的效率比较高,大块的连续的内存不容易产生内存碎片
缺点:对内存的要求比较高(内存连续),插入、删除元素时很不方便、效率低
链式表:
节点的数据项:
数据域:可以是若干个各种类型的数据项组成
指针域:指向下一个节点
由若干个节点通过指针域连接在一起,形成链式表
不带头节点:第一个节点的数据域存储的是有效的数据
添加、删除时有可能会改变第一个节点的指针指向,参数需要传递二级指针,而且删除第一
个节点时,还需要额外处理。
带头节点:第一个节点不使用,仅仅只是用来指向第一个数据域有效的节点
注意:操作需要从第二个节点(也就是第一个有效数据节点)开始
注意:下标从第一个有效数据节点开始
功能受限的表:
栈:只有一个进出的出入口的表结构,先进后出,FILO(first in last out)/LIFO(last in first out)
顺序栈:
数