栈和队列的作用是什么?它们主要可以应用在哪些方面?
展开全部
栈和队列都属于一位链表,栈是后进先出,进和出都是在同一端进行,就好像一筒羽毛球,只有把上面拿出来,下面的才能拿出来;队列是先进先出的,进和出分别在不同的端进行,比如排队的人,排在前面的人先到柜台办理业务,后面来的人后得到服务。
栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底。
最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。
扩展资料:
在计算机系统中,栈则是一个具有以上属性的动态内存区域。程序可以将数据压入栈中,也可以将数据从栈顶弹出。在i386机器中,栈顶由称为esp的寄存器进行定位。压栈的操作使得栈顶的地址减小,弹出的操作使得栈顶的地址增大。
栈在程序的运行中有着举足轻重的作用。最重要的是栈保存了一个函数调用时所需要的维护信息,这常常称之为堆栈帧或者活动记录。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
1、栈的应用(历史的回溯)
栈的输出顺序和输入顺序相反;
栈有一个著名的应用场景“面包屑工程”,使用户在浏览页面时可以轻松的回溯到上一级或上一级页面。
2、队列的应用(历史的重演)
3、双端队列
4、优先队列
遵循的不是先入先出、而是谁的优先级最高,谁先出列
优先队列不属于线性数据结构的范畴了,它属于二叉堆来实现的
散列表
散列表也作哈希表(hash table),这种数据结构提供了key和value的映射关系,只要给出一个key,就可以高效的找到它所匹配的value
哈希函数(中转站)
散列表的读写操作:
1、写操作(put)
写操作就是在散列表中插入新的键值对(在jdk中叫作entry)
栈的输出顺序和输入顺序相反;
栈有一个著名的应用场景“面包屑工程”,使用户在浏览页面时可以轻松的回溯到上一级或上一级页面。
2、队列的应用(历史的重演)
3、双端队列
4、优先队列
遵循的不是先入先出、而是谁的优先级最高,谁先出列
优先队列不属于线性数据结构的范畴了,它属于二叉堆来实现的
散列表
散列表也作哈希表(hash table),这种数据结构提供了key和value的映射关系,只要给出一个key,就可以高效的找到它所匹配的value
哈希函数(中转站)
散列表的读写操作:
1、写操作(put)
写操作就是在散列表中插入新的键值对(在jdk中叫作entry)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-09
展开全部
栈和队列的作用是排队作用,可以应用在排队类型的数据处理上,例如网络请求回复之类的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-09
展开全部
栈和队列都属于一位链表
区别是:
栈是后进先出,进和出都是在同一端进行,称为"压栈"(push)和"弹栈"(pop),就好象一筒羽毛球,只有把上面拿出来,下面的才能拿出来
队列是先进先出的,进和出分别在不同的端进行,比如排队的人,排在前面的人先到柜台办理业务,后面来的人后得到服务,所以称为"队列"是很形象的
区别是:
栈是后进先出,进和出都是在同一端进行,称为"压栈"(push)和"弹栈"(pop),就好象一筒羽毛球,只有把上面拿出来,下面的才能拿出来
队列是先进先出的,进和出分别在不同的端进行,比如排队的人,排在前面的人先到柜台办理业务,后面来的人后得到服务,所以称为"队列"是很形象的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询