首页 > 其他分享 >day2 栈、队列

day2 栈、队列

时间:2023-07-17 20:36:06浏览次数:50  
标签:队尾 队列 day2 入队 cal front rear

功能受限的表结构:     栈:     队列:         只有两个口来进出数据,一个专门进入数据,另一个专门出数据,先进先出,FIFO表                 顺序队列:             1、存储元素的连续内存的首地址             2、容量:             3、队头位置:出队             4、队尾位置:入队
            运算:创建、销毁、清空、出队、入队、对空、队满、对头、队尾、元素数量             *需要注意的问题:                 1、存储元素是由一维数组+对头位置front+队尾位置rear来表示,入队时是队尾rear+1,出队时front+1,为了队列能够反复使用,需要把一维数组想象成一个环,因此+1后都需要对容量cal求余                     front=(front+1)%cal;                     rear=(rear+1)%cal;                 2、判断队空和队满的问题                     如果不处理该问题队空、队满的条件都是front==rear,无法区分两种情况                     ***方法1:存储元素的内存多增加一个位置空间   *(常考)                         队空:front=rear                         队尾:(rear+1)%cal==front                         代价:需要额外申请存储元素的内存                         计算数量:(rear-front+cal)%cal                         队尾数据下标:(rear-1+cal)%cal                     方法2:顺序队列结构中增加一个数据项,记录元素数量,通过数量与容量的对比判断队空队满(不常考)                 链式队列:             由若干个节点组成的队列结构,只能操作队头节点、队尾节点             链式队列的结构:                 1、队头指针                 2、队尾指针                 3、节点数量
                运算:创建、销毁、出队、入队、队空、队头、队尾、元素数量
        队列的应用:             1、数据排队处理-消息排队            *2、树的层序遍历(上->下) (左->右)             3、图的广度优先遍历BFS             4、封装线程池,数据池

标签:队尾,队列,day2,入队,cal,front,rear
From: https://www.cnblogs.com/ymy1/p/17561112.html

相关文章

  • 阻塞队列
    阻塞队列是一个支持两个附加操作的队列,这两个附加操作支持阻塞的插入和移除操作。1、支持阻塞的插入方法:当队列满时,队列对阻塞插入元素的线程,直到队列不满。2、支持阻塞的移除方法:当队列为空,获取元素的线程会等待队列变味非空。阻塞队列常用的应用场景常用于生产者和消费者场景,生产......
  • 字符串,列表的内置方法(增加、修改、删除) 、可变类型与不可变类型 、字典 ,元组,集合的
    字符串的内置方法(较多,重要)old_code='KeViN'print('这是返回给用户的验证码:%s'%old_code)new_code=input('请输入你的验证码:').strip()print(new_code)#对验证码作一个判断,现在对验证码作不区分带小写#ifold_code.upper()==new_code.upper():ifold_code.......
  • 2023.7.16 linux 软中断Softirqs 队列 Workqueues 并发管理队列cmwq
    Implementingwork-deferringmechanisms 延期任务Softirqs:Executedinanatomiccontext # kernel/softirq.c ;<linux/interrupt.h>.Tasklets:Executedinanatomiccontext Workqueues:Executedinaprocesscontext structsoftirq......
  • vue-day25--自定义指令总结
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>自定义指令总结</title><scriptt......
  • vue-day25--自定义指令v-fbind
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>自定义指令</title><scripttyp......
  • vue-day25--自定义指令
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>自定义指令</title><scripttyp......
  • vue-day25--v-pre指令
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>v-pre指令</title><scriptt......
  • vue-day25--v-once指令
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>v-once指令</title><script......
  • vue-day23--v-html指令
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>v-html指令</title><script......
  • vue-day22--v-text指令
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>过滤器</title><scripttype=......