数据结构中栈和队列以及数组

数据结构中栈

栈: stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。

简单的说:采用该结构的集合,对元素的存取有如下的特点 。

先进后出(即,存进去的元素,要在它后面的元素依次取出后,才能取出该元素)。

例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹,然后才能弹出下面的子弹。·

栈的入口、出口的都是栈的顶端位置。

 

 

 

 

 

 

数据结构中队列

队列: queue,简称队,它同堆栈一样,也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。

简单的说,采用该结构的集合,对元素的存取有如下的特点: ·

先进先出(即,存进去的元素,要在它前面的元素依次取出后,才能取出该元素)。例如,小火车过山洞,车头先进去,车尾后进去;车头先出来,车尾后出来。

队列的入口、出口各占一侧。

 

 

 

 

 

数据结构中数组

数组:Array,是有序的元素序列,数组是在内存中开辟一段连续的空间,并在此空间存放元素。

就像是一排出租屋,有100个房间,从1到100每个房间都有固定编号,通过编号就可以快速找到租房子的人。

简单的说采用该结构的集合,对元素的存取有如下的特点∶ 

查询快:数组的地址是连续的,我们通过裁组的首地址可以找到数组,通过数组的索引可以快速查找某一个元素

增删慢:数组的长度是固定的,我们想要增加/删除一个元素必须创建一个新致组,把源数组的数据复制过来

 

 在堆内存中,频繁的创建数组,复制数组中的元素,销毁数组,所以效率低下

 

posted @   xjw12345  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示