java 队列 堆栈 怎么用

队列和堆栈 的作用

程序=数据结构+算法
队列和堆栈就是一种数据结构了,其他的还有链表、树等,是一种存储数据的形式。
堆栈就是实现先进后出的数据结构,比如一端开口一端有底瓶子里,你把饼干(数据)从左端放入瓶子中,拿饼干也要从左端拿,而先放入的饼干最后才能取出。
队列就是实现先进先出的数据结构,比如一个两端都开口的瓶子,你把饼干从左端放入瓶子,拿饼干可以从右端拿出,先放入的饼干最先取出
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-04
常见数据结构
A:栈 先进后出
B:队列 先进先出
C:数组 查询快,增删慢
D:链表 查询慢,增删快
List的子类特点(面试题)
ArrayList
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
Vector
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
LinkedList
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。

到底使用谁呢?看需求?
分析:
要安全吗?
要:Vector(即使要,也不使用这个,后面再说)
不要:ArrayList或者LinkedList
查询多;ArrayList
增删多:LinkedList

什么都不知道,就用ArrayList。

java 队列 堆栈 怎么用
堆栈就是实现先进后出的数据结构,比如一端开口一端有底瓶子里,你把饼干(数据)从左端放入瓶子中,拿饼干也要从左端拿,而先放入的饼干最后才能取出。队列就是实现先进先出的数据结构,比如一个两端都开口的瓶子,你把饼干从左端放入瓶子,拿饼干可以从右端拿出,先放入的饼干最先取出 ...

队列和堆栈的区别以及堆和栈的区别
队列是先进先出象一个通道,排队按次序走;堆栈是先进后出,象一个桶,先放进去的东西在下面,必须先把上面的拿走才能拿下面的。

堆栈和队列之栈的定义及基本运算
栈(Stack) 是限制仅在表的一端进行插入和删除运算的线性表 通常称插入 删除的这一端为栈顶(Top) 另一端称为栈底(Bottom) 栈的修改是按后进后出的原则进行的 因此 栈又称为后进先出(Last In First Out)的线性表 简称为 LIFO表 栈的基本运算 lishixinzhi\/Article\/program\/sjjg\/201311\/2...

堆栈和队列有什么相同点和不同点?
1、运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入、删除运算,因而是后进先出表LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO。2、用途不同,堆栈用于子程调用和保护现场,队列用于多道作业处理、指令寄存及其他运算等等。

什么是“堆”,"栈","堆栈","队列",它们的区别
首先这个问题是非常具有歧义的。堆栈其实是堆和栈,都是内存的不同区域。那么这里的堆栈,应该不是指内存,而是java.util.stack (类).应该称之为栈。之所以叫堆栈,应该是某些人的理解问题。这里的队列,应该是java.util.queue(接口)就是说,java集合中的两种数据结构的对比。一句话形容其区别,就是...

堆栈和队列 的本质区别
而栈为后进先出(LIFO),即每次删除(出栈)的总是当前栈中最新的元素,即最后插入(进栈)的元素,而最先插入的被放在栈的底部,要到最后才能删除。4、遍历数据速度不同。队列是基于地址指针进行遍历,而且可以从头部或者尾部进行遍历,但不能同时遍历,无需开辟空间,因为在遍历的过程中不影响数据结构...

队列和堆栈有何相同点?不同点?
在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。要点对比:指令队列,先进先出(FIFO—first in first out)。堆栈,先进后出 (FILO—First-In\/Last-Out) 。队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的...

先进先出是队列还是堆栈
2、队列是先进先出:就像一条路,有一个入口和一个出口,先进去的就可以先出去。而栈就像一个箱子,后放的在上边,所以后进先出。两者的结构通常采用的两种存储结构是顺序存储结构和链表存储结构。3、栈和队列是两种基本的数据结构,它们都是线性结构,但在数据的存储和访问方式上有一些不同。4、栈(...

我要用java实现一个栈,基本操作就是出栈入栈。请问如何实现效率比较高...
\/\/这是我写的顺序结构的栈 import java.util.EmptyStackException;import java.util.Vector;public class UsingStack{ public static void main(String[] args){ \/\/构造栈对象,使用类型限制,只能存储Integer数据 MyStack<Integer> s = new MyStack<Integer>();\/\/1、2、3依次入栈 s.push(1);s....

先进先出是队列还是堆栈
它使最早的要求被最先处理。后进先出(LIFO,last-in,first-out)是另一种方法,它使最新的要求被最先处理,而最早的要求要等到队列(或堆栈)中只有这一个要求时才会被处理。尽管后进先出似乎不公平,但是它却更有效率。一个用后进先出处理的堆栈有时被称为下推或下推弹出式堆栈(或列表)。

相似回答