队列 #数据结构与算法(3)

--数据结构其实就是定义一种性质,并且达到维护这种性质的目的的过程。--

--数据结构并不难,难的是如何使用这些案例的特点来维护数据。--

对列是一种先进先出的线性表【等会我要演示的代码其实和顺序表的结构挺相似的!!!大家也可以尝试一下用链对列来写,它有好处: ①.由于链表的结构,它不在需要扩容了。 但也有坏处: ②.就是对数据的存储需要更大的内存。 但是总的来说,当储存很多的数据的时候,它对空间的利用率是挺高的!!!】,它只允许在表的一端进行插入,而在另一端删除元素【其实这就是对列的一种性质,而这种性质也造成了对列的假溢出现象!后面在详细的讲!!!】。这和日常生活中的排队是一致的,最早进入队列的元素最早离开。在对列中,允许插入的一端称为对尾,允许删除的一端则称为对头。【这也造成了假溢出的现象!!!】。

 

 

 【大家看看下面假溢出出现的具体原因!!!】

 因为对列只能从后面入队,这就导致即使我前面删除元素【出队】,但也假意占着空间,使后面的元素无法进行插入【入队】操作!!!如果我想解决这个问题,就需要: ①.要么扩充元素【这个最后讲】 ②.要么就循环队列。

 

 

这样我们就有很大程度上达到循环对列中储存不浪费的问题!!!

【下面来演示代码!!!】

 【先定义一个基本的对列(Queue)!!!】

 【队列的初始化!!!】

 【入队操作!!!】

 【出队操作!!!(empty是判空操作,我把它写在了后面)】

 【这是出队操作中的判空操作(empty)!!!】

 【这是打印对手元素!!!】

 【这是销毁操作!!!】

【我定义一个储存大小!!!一会写到主函数中!!!】

 

 

 【主函数部分!!!】

 

【这是输入函数部分!!!】

但是写完这些还是不够!!!因为我们发现只能向队列中插入十个元素!!!但在实际工作中,我们要用的的数据可不只这么多个,所以我们要进行扩容操作!!!

​【这是扩容操作!!!】通过这个我们就能写入很多元素了!!!

--大家可以与顺序表对比一下康康--

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

》(。・ω・。)ノ♡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值