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

涪陵区小城镇建设管理处网站h5怎么生成二维码

涪陵区小城镇建设管理处网站,h5怎么生成二维码,wordpress文章添加seo标题,wordpress 凌风目录 队列数组队列的“假溢出”现象循环队列三种判断队列空和满的方法无下标#xff08;链式#xff09;有下标#xff08;顺序#xff09;长度标记 go用顺序表实现一个循环队列队列的链式存储结构 队列 队列#xff08;queue#xff09;是只允许在一端进行插入操作链式有下标顺序长度标记 go用顺序表实现一个循环队列队列的链式存储结构 队列 队列queue是只允许在一端进行插入操作在另一端进行删除操作的线性表简称“队”。 队列是一种先进先出First In First Out的线性表简称FIFO。 允许插入的一端称为队尾rear允许删除的一端称为队头(front)。 向队列中插入新的数据元素称为入队新入队的元素就成为了队列的队尾元素。 从队列中删除队头元素称为出队其后继元素成为新的队头元素。 队列有很多种按照存储结构划分有链式队列循环队列单向队列双端队列。实现队列的方式也有很多种如基于链式存储结构的链接队列又称链队列基于顺序存储结构的队列。 数组队列的“假溢出”现象 在队列的顺序存储结构中除了用一组地址连续的存储单元依次存放从队列头到队列尾的元素之外还需要设置头尾两个指针front和rear分别指示队列头元素及队尾元素的位置。 初始化建立空队列时令frontrear0每当插入新的队尾元素时“尾指针增1”每当删除队头元素时“头指针增1”在非空队列中头指针始终指向队列头元素尾指针始终指向队列尾元素的下一个位置 在入队和出队的操作中头尾指针只增加不减小致使被删除元素的空间永远无法重新利用因此尽管队列中实际的元素个数远远小于向量空间的规模但也可能由于尾指针巳超出向量空间的上界而不能做入队操作该现象称为假溢出。 解决办法将顺序队列臆造为一个环状的空间称之为循环队列 循环队列 队列的头尾相接的顺序存储结构称为循环队列。 问题当循环对列为空或满时都是队尾指针等于队头指针即rearfront 。当rearfront时该是判满还是判空呢 解决方案 方案一设置一个计数器开始时计数器设为0新元素入队时计数器加1元素出队计数器减1。当计数器MAXSIZE时队满计数器0时队空。 方案二保留一个元素空间当队尾指针指的空闲单元的后继单元是队头元素所在单元时队满。 三种判断队列空和满的方法 无下标链式 当队列为空时条件rear front 当队列满时条件为rear1 front 有下标顺序 当队列为空时条件rear front 当队列满时条件为rear1% maxsize front 长度标记 设置一个标记位 队列为空时count 0 当有元素入队时count当count和队列的maxsize相等时代表队列已满 go用顺序表实现一个循环队列 初始化结构体 type LoopQueue struct {mem []int// length capcap int// indexfront, rear int }func Queue(size int) *LoopQueue {return LoopQueue{mem: make([]int, size),cap: size,front: 0,rear: 0,} }判空判满 func (q *LoopQueue) IsEmpty() bool {return q.front q.rear }func (q *LoopQueue) IsFull() bool {return (q.rear1)%q.cap q.front }push,pop操作 func (q *LoopQueue) Push(val int) error {if q.IsFull() {return errors.New(queue is full)}q.mem[q.rear] val// 当尾达到最大index就不能简单自增而是要循环q.rear (q.rear 1) % q.capreturn nil }func (q *LoopQueue) Pop() (int, error) {if q.IsEmpty() {return -1, errors.New(empty queue)}pop : q.mem[q.front]// 当头达到最大index就不能简单自增而是要循环q.front (q.front 1) % q.capreturn pop, nil }队列的链式存储结构 采用链式存储结构实现的队列称为链队列。 为了使操作更加方便将队头指针指向链队列的头结点而队尾指针指向终端结点。 用链表实现的队列也有“假溢出”的现象所以go提供了Ring数据结构只要导入container/ring就可以使用循环链表。 type Ring struct {next, prev *RingValue any // for use by client; untouched by this library }func New(n int) *Ring {if n 0 {return nil}r : new(Ring)p : rfor i : 1; i n; i {p.next Ring{prev: p}p p.next}// 头尾相连p.next rr.prev preturn r }
http://www.pierceye.com/news/22292/

相关文章:

  • 手机网站锁定竖屏看代码企业网站建设排名官网
  • 网站建设方案哪家好 推荐提供定制型网站建设
  • 杭州外贸网站建设wordpress创建企业邮箱
  • 购物商城网站模板浙江建设干部学校网站首页
  • 超越时空网上书城网站策划书免费信息发布平台网站
  • 建筑网站制作深圳市建设网站
  • 做弹幕网站有哪些兰陵建设局网站
  • 十大免费模板网站推广普通话图片
  • 如何建立公司的销售网站放单网站
  • 做视频网站服务器怎么选择wordpress 产品网站
  • 网站视频嵌入代码wordpress.c0m
  • discuz建站流程保定百度推广联系电话
  • 网站建设 300元当前网站建设的主要方法
  • 手机网站弹出菜单页面模板只能有30个文章吗
  • 关键词搜索网站重庆营销型网站随做的好
  • 意识形态 加强网站建设谷歌英文网站
  • 做移动网站首页软怎么破解wordpress主题
  • 用云主机做网站wordpress手机加搜索
  • 加强三农网站建设的意义做生鲜的网站
  • 浏览有关小城镇建设的网站wordpress作者墙主题
  • 国税局网站里打印设置如何做网络规划设计师视频教程百度云
  • 企业手机网站制作住房建设网站柳州
  • 淘宝做网站的都是模板模板网站建设哪家专业
  • 博客网站大连做网站的科技公司
  • 网站建设招标公告游戏推荐网站怎么做
  • 建设网站的规则网站用社交图标做链接侵权吗
  • 江都建设局网站李局推广引流渠道方法大全
  • asp网站静态化wordpress创意插件
  • 深圳网站建设html5马尔康网站建设
  • 软件开发包含网站开发河南映天建设网站