zoukankan      html  css  js  c++  java
  • 萌新循环队列学习笔记

    循环队列:

    队列最简单的表示方法就是数组啊;

    用数组表示队列,那么普通的方法就是简单的搞两个下标代表队列头,队列尾,然后进队,出队,但是随着入队,出队操作的进行,会使整个队列整体向后移动,队尾指针已经移到了最后,再有元素入队就会溢出,而事实上此时队中并未真的“满员”,这种现象称为“假溢出”。

    为了解决队尾溢出而实际上数组仍然有空余空间的问题,一般在队列的顺序存储结构中采用循环队列的方式:rear 和 front 到达数组端点时,能折回到数组开始处,即相当于将数组头尾相接,想象成环状。

    当插入和删除操作的作用单元达到数组的末端后,用公式"rear"(或 front ) % 数组长度“取余运算就可以实现折返到起始单元。

    方法一:增设一个变量,记录当前队列元素个数的变量SIze,或者用一个变量Flag记录最后一次操作是入队还是出队。

    根据变量Size就可以直接判断队列是否是满还是空;根据变量Flag,就可以知道当front等于rear时是满还是空;

    方法二:少用一个元素的空间;队满的条件:” (rear+1) % 数组长度 “ 等于 front。队空的条件仍然是:rear等于front;






  • 相关阅读:
    通过git向github提交项目
    git连接github mac
    char如何储存3个字节或者4个字节
    centOS 7安装jdk
    在移动端语言react中使用video.js
    小程序自定义头部navbar组件
    git常用指令汇总学习
    react表单
    react从入门到熟悉(回顾react)
    react生命周期
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/6777524.html
Copyright © 2011-2022 走看看