顺序表结构:
元素存储在一整块连续的内存中。
优点:
随机访问速度快
可以用各种算法排序
可以使用二分查找
不容易产生内存碎片
缺点:
插入、删除元素麻烦
对内存的要求高,需要一整块连续的内存
栈:
功能受限的表结构,只有一个端口进出元素(先进后出FILO)
栈的应用:
栈内存管理(函数调用)
表达式解析
队列:功能受限的表结构,有两个端口管理数据,一个端口只能进,另一个端口只能出(先进先出FIFO)
链表:由分布在内存不同位置的结点(元素),通过成员指针所连接起来的表结构,结点之间存在一对一关系。
优点:
对内存的要求不高,可以使用到小块内存
插入、删除方便
可以根据元素数量动态调整链表的长度,节约内存,还可以无限的添加元素
缺点:
频繁的插入、删除结点可能会产生内在碎片
访问速度慢、不能随机访问,只能从头结点逐个遍历