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

    循环队列:

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

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

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

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

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

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

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






  • 相关阅读:
    selenium-java,定位并操作frame和iframe内的元素
    多线程-java
    Mysql基础
    webpack文件处理
    webpack调试必备配置之SourceMap介绍
    webpack提取分离css单独打包
    webpack编译less和sass
    webpack中loader在处理HTML中引入图片
    webpack用loader加载css
    使用配置文件webpack.config.js打包文件
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/6777524.html
Copyright © 2011-2022 走看看