当前位置: 首页 > news >正文

唐山住房和城乡建设委员会网站网站优化设计公司

唐山住房和城乡建设委员会网站,网站优化设计公司,做平台好还是做网站好,wordpress标题设置🌞🌞🌞生活本就沉闷,但跑起来就会有风 ~~~ 前言: 🌟🌟Hello家人们,这期讲解数据结构队列的基础知识,希望你能帮到屏幕前的你。 📚️上期博客在这里&#xff1…

                                      🌞🌞🌞生活本就沉闷,但跑起来就会有风 ~~~

前言:

🌟🌟Hello家人们,这期讲解数据结构队列的基础知识,希望你能帮到屏幕前的你。

📚️上期博客在这里:http://t.csdnimg.cn/WJjIy

📚️感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客

目录

     📚️ 1.什么是对队列

🎥1.1队列概念:

🎥1.2入队列:

🎥1.3出队列:

       📚️2.队列方法的底层模拟

🎥2.1引导:

 🎥2.2初始化链表:

 🎥2.3入队列:

 🎥2.4出队列:

  🎥2.5输出队列头元素:

  🎥2.6队列长度,打印,非空判断:

     📚️3.队列的应用

 🎬️3.1队列的方法

   🎬️3.2队列的使用代码:

     📚️4.总结语


                                             那么正片开始~~~🎬️🎬️🎬️

     📚️ 1.什么是对队列

🎥1.1队列概念:

只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出
的性质

🎥1.2入队列:

进行插入操作的一端称为队尾(Tail/Rear

🎥1.3出队列:

进行删除操作的一端称为队头(Head/front)
图片实例:
💡💡💡 总结来说,队列就是像我们平时排队一样,先到先得,第一个人站在队头,最后一
个人站在 队尾,这样是否更形象呢~~~

       📚️2.队列方法的底层模拟

                  这部分是比较重要的一部分~~~

🎥2.1引导:

       💬在上述描述中可以看到,队列用数组实现,但是当出队列时,可以看到前面的空间都浪费了,所以小编在这里将用链表进行队列的模拟。

图解如下:

💡💡可以看到,front索引前面的数据出队列后就为空了,导致前面的位置就直接浪费了。

 🎥2.2初始化链表:

代码如下:

public class Queue {// 双向链表节点public static class ListNode{  //定义内部类表示节点ListNode next;      ListNode prev;int value;ListNode(int value){this.value = value;}}ListNode first; // 队头ListNode last; // 队尾int size = 0;  //有效数据

       💬小编在这里创建了一个双向链表(双向链表博客在这里:http://t.csdnimg.cn/8vB1R)方便一系列操作,并且多初始化了一个变量表示有效数据。

 🎥2.3入队列:

代码如下:

public void offer(int e){ListNode node=new ListNode(e);if(first==null){   //判断链表是否为空first= node;last=node;}else {            //正常插入node.prev=last;last.next=node;node.next=null;last=node;}size++;             //有效数据加一}

        💬在链接节点时要进行链表是否为空的判断,如果为空,就将头结点和尾巴节点都给插入节点。反之,就直接进行正常的尾插法即可。

 🎥2.4出队列:

 代码如下:

 public int poll(){if(isEmpty()){     //判断是否为空System.out.println("队列为空,无法输出数据");return -1;}if(first==last){   //当只有一个节点时int ret=first.value;first=null;last=null;size--;return ret;}                  //正常进行链表的头节点删除int ret=first.value;first=first.next;first.prev=null;size--;            //有效数据减一return ret;}

     💬这里还是一样的在出队列时,要判断链表是否为空,在进行头节点的删除。

注意:在判空的前提上还要分多个节点和一个节点的头节点的删除情况。

  🎥2.5输出队列头元素:

代码如下:

public int peek(){if(isEmpty()){System.out.println("队列为空,没有数据");return -1;}return first.value;}

       💬这里还是要先判断链表的状态,最后返回头节点的域值的数据即可,不用做其他操作,得到值就OK。

  🎥2.6队列长度,打印,非空判断:

代码如下:

public int size() {   //获取队列的长度return size;}private boolean isEmpty(){  //判断队列是否为空if(first==null){return true;}return false;}public void display(){    //打印队列ListNode cur=first;while (cur!=null) {    //遍历链表System.out.print(cur.value + " ");cur = cur.next;}System.out.println();  //换行,方便测试}

       💬这里就相比起来,就比前面的更简单,小编就不再过多赘述。

     📚️3.队列的应用

 🎬️3.1队列的方法

注意:Queue是个接口,在实例化时必须实例化LinkedList的对象,因为LinkedList实现了Queue接口。

   🎬️3.2队列的使用代码:

代码实例:

public static void main(String[] args) {Queue<Integer> q = new LinkedList<>();q.offer(1);q.offer(2);q.offer(3);q.offer(4);q.offer(5);                   // 从队尾入队列System.out.println(q.size()); // 获取队列长度System.out.println(q.peek()); // 获取队头元素q.poll();                     System.out.println(q.poll()); // 从队头出队列,并将删除的元素返回if(q.isEmpty()){              System.out.println("队列空");}else{System.out.println(q.size());}}

      💬这里就类似于方法的调用,这里小编就通过注解来解释咯~~~

     📚️4.总结语

      💬💬小编通过前几期的链表,顺序表,栈,和本篇的队列学习发现在这些数据结构中的底层代码编译思路几乎一样,都是要熟悉对应数据结构的原理,以及对应条件判断

通过对底层模拟的实现,可以帮助我们理解对应数据结构方法的使用原理。

       🌅🌅🌅还是那句话,多练!哈哈哈~~~~最后希望与诸君共勉,共同进步!!!


                  💪💪💪以上就是本期内容了, 感兴趣的话,就关注小编吧。

                                下期预告:栈和队列的相关例题解析🌟🌟

                                          😊😊  期待你的关注~~~

http://www.zhongyajixie.com/news/41763.html

相关文章:

  • 做贸易的网站有哪些百度天眼查
  • 阿里云服务器怎么部署网站百度收录最新方法
  • ui最好的网站创建网站需要多少资金
  • 保定网站制作推广网络服务器搭建
  • 下载网站上的表格 怎么做营销型网站的类型有哪些
  • 做服装招聘的网站seo标题关键词优化
  • 织梦网站怎么做伪静态一键免费建站
  • 自适应营销网站模板如何制作一个简易网站
  • 宁波网站建设优化企业推荐自媒体十大平台
  • 网上做批发的网站软文写作实训总结
  • 网站建设冷色调成都seo论坛
  • 打开网站占空间seo站外推广有哪些
  • 石家庄网站推广招聘1688关键词怎么优化
  • 网站开发路径怎么给公司做网站推广
  • 英文网站建设 济南中国建设网官方网站
  • 用web设计购物网站的建设网站百度不收录
  • 南充网站建设费用谷歌官方网站注册
  • wordpress清理工具百度关键词seo排名软件
  • wix做网站流程培训网站设计
  • 网站技术报务费如何做会计分录企业文化建设方案
  • 免费做电脑网站全球搜索引擎市场份额
  • 微信网站公众平台互联网营销师证书有用吗
  • 传统旅行社如何建设网站seo教程自学入门教材
  • 伊春网站建设网站建设7个基本流程
  • 官方网站怎样做30个免费货源网站
  • 咪咪做网站网店营销
  • 外贸网站优化在线推广中国 日本 韩国
  • 黑色赚钱的网站我国的网络营销公司
  • 做蛋糕视频的网站培训机构招生方案模板
  • 最新网站开发需求文档竞价sem托管