栈和队列

1.栈:

  定义:一个连续的内存空间,类似数组。具有自己的特点:后进先出。和算法dfs有关。

  用法:背景(java),类:Stack (归属于Java.util.Stack) 是Vector的子类,可以直接使用

  Stack<引用数据类型> a  = new Stack<引用数据类型>()

    方法有:push(引用对象)//作用,入栈一个数据放到栈顶。

        pop(); //作用,直接把栈顶的数据弹出,返回这个数据。

        peek();//作用,返回栈顶的数据,但是并不弹出。

        isEmpty();//作用,判断是否为空

        size();//返回长度,长度可变。以具体放入多少数据为标准。

 

 

2. 定义:和栈相同,唯一的区别就是:先进先出。和算法Bfs有关。 

  2.1.创建队列

    使用Queue接口 ,Queue的实现类有LinkedList和PriorityQueue。最常用的实现类是LinkedList。

      Queue的六种方法:

      add()和 offer()  

      向队列中添加元素,将元素压入队尾。当超出容量时add()会抛出异常 , offer()会返回false。

      remove() 和 poll()

      移除元素,将元素从队头移出。当当前容量为0执行移除操作时,remove()会抛出异常 , poll()会返回false。

      element() 和 peek()

      获取队头元素,当前容量为0时。element()会抛出异常 , peek()会返回null。

 

栈和队列都一样,数据可以重复,都在java.util. 的包下。

System.out.println() 都可以直接以数组的方式输出。

posted @ 2022-03-16 12:27  星辉与你  阅读(49)  评论(0)    收藏  举报