数组和链表、栈和队列

本文详细介绍了数组和链表这两种数据存储方式的特点及应用场景,对比了它们在查找、添加和删除数据方面的优劣。此外,还探讨了栈和队列作为数据管理方式的工作原理及其典型应用案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组和链表是数据的两种存储方式

数组:

  查找数据方便,添加删除数据不方便,故常用来做查找表。当表较大时不宜存放在堆空间。通常已知数据数量用数组,未知数量用链表。

  操作:按下标查找数值



链表:

  添加删除数据方便,查找数据不方便。查找数据只能遍历

  结点:1)存放应用相关数据  2)存放下一个结点的地址

  操作:1)在不同位置添加成员   2)删除成员

删除添加结点时应考虑操作是否会影响head结点,应分开讨论



栈和队列是数据的两种管理方式

栈:FILO    应用:括号匹配、四则运算

1)判断栈是否为空:①栈底加特殊标记②记录栈的位置

2)解决栈可能溢出:①数组存储的话,可以加一个计数器,当空间用完后再重新申请空间②链表存储(效率低,内存碎片等问题)


队列:FIFO   应用:交互式程序、生产消耗队列

通过数组和链表实现




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值