栈和队列

大标 2022年3月16日12:45:36
评论
16

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。

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
大标
  • 本文由 发表于 2022年3月16日12:45:36
  • 转载请务必保留本文链接:https://www.tanhuibiao.com/script/c%e8%af%ad%e8%a8%80/4574.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: