数组和链表是数据的两种存储方式
数组:
查找数据方便,添加删除数据不方便,故常用来做查找表。当表较大时不宜存放在堆空间。通常已知数据数量用数组,未知数量用链表。
操作:按下标查找数值
链表:
添加删除数据方便,查找数据不方便。查找数据只能遍历
结点:1)存放应用相关数据 2)存放下一个结点的地址
操作:1)在不同位置添加成员 2)删除成员
删除添加结点时应考虑操作是否会影响head结点,应分开讨论
栈和队列是数据的两种管理方式
栈:FILO 应用:括号匹配、四则运算
1)判断栈是否为空:①栈底加特殊标记②记录栈的位置
2)解决栈可能溢出:①数组存储的话,可以加一个计数器,当空间用完后再重新申请空间②链表存储(效率低,内存碎片等问题)
队列:FIFO 应用:交互式程序、生产消耗队列
通过数组和链表实现