C语言算法积累加tag的循环队列

 更新时间:2022年06月06日 15:59:23   作者:aprilzj123  
这篇文章主要为大家介绍了C语言算法积累加tag的循环队列的解题思路,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

题目:

若希望循环队列中的元素都能得到利用,则需设置一个标志域tag,并以tag的值为0或1来区分队头指针front和队尾指针rear相同时的队列状态是“空”还是“满”。

试编写与此结构相应的入队和出队算法。

关键字:

循环队列+tag的使用

思路 :

循环队列:

需要变量:队头指针front,队尾指针rear,增减元素的开关:tag

1)入队算法

尾插法:Q.data[Q.rear]=x;Q.rear=(Q.rear+1)%Maxsize;Q.tag=1

队空条件:Q.front== Q.rear且Q.tag==0

2)出队算法

头结点删除:x=Q.data[Q.front];Q.front=(Q.front +1)%Maxsize;Q.tag=0

队满条件:Q.front == Q.rear且Q.tag=1

注意:当删除之后链表为空时,还需增加一步,将尾指针指向头结点

1.设“tag”法的循环队列入队算法:

int EnQueue1(SqQueue &Q, ElemType x){
   if(Q.front==Q.rear&&Q.tag==1)
return 0;
   Q.data[Q.rear]=x;
   Q.rear=(Q.rear+1)%MaxSize;
   Q.tag=1;
   return 1;
}

2.设“tag”法的循环队列入队算法:

int DeQueue1(SqQueue &Q, ElemType &x){
    if (Q.front==Q.rear&&Q.tag==0)
        return 0;
    x=Q.data[Q.front];
    Q.front=(Q.front+1)%MaxSize;
    Q.tag=0;
    return 1;
  }

以上就是C语言算法积累加tag的循环队列的详细内容,更多关于C语言算法tag循环队列的资料请关注脚本之家其它相关文章!

相关文章

  • C语言用easyx实现消砖块游戏

    C语言用easyx实现消砖块游戏

    这篇文章主要为大家详细介绍了C语言消砖块游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Qt教程之QSqlQueryModel的使用详解

    Qt教程之QSqlQueryModel的使用详解

    QSqlQueryModel是QSqlTableModel的父类,它封装了执行SELECT语句从数据库查询数据的功能,本文将为大家介绍一下QSqlQueryModel的使用,需要的可以参考一下
    2022-11-11
  • C语言数组全面总结梳理

    C语言数组全面总结梳理

    在C语言和C++等语言中,数组元素全为指针变量的数组称为指针数组,指针数组中的元素都必须具有相同的存储类型、指向相同数据类型的指针变量。指针数组比较适合用来指向若干个字符串,使字符串处理更加方便、灵活
    2022-02-02
  • C语言修炼之路灵根孕育源流出 初识C言大道生上篇

    C语言修炼之路灵根孕育源流出 初识C言大道生上篇

    C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言
    2022-03-03
  • 如何实现循环队列

    如何实现循环队列

    本文主要介绍了C语言循环队列的实现,对于数据结构与算法的研究有所帮助,需要的朋友可以参考下
    2015-07-07
  • OpenCV基于背景减除实现行人计数

    OpenCV基于背景减除实现行人计数

    本文主要介绍了如何使用OpenCV C++对视频中的人流量进行统计。文中的示例代码讲解详细,对我们学习OpenCV有一定的帮助,需要的可以了解一下
    2022-01-01
  • opencv学习笔记C++绘制灰度直方图

    opencv学习笔记C++绘制灰度直方图

    这篇文章主要为大家介绍了opencv学习笔记C++绘制灰度直方图的实现代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • C语言 运算符详细介绍及示例代码

    C语言 运算符详细介绍及示例代码

    本文介绍C语言 运算符,这里整理了运算符的基础知识,并附示例代码,希望能帮助刚刚开始学习 C语言的同学
    2016-08-08
  • 详解C++ 中 shared_ptr weak_ptr

    详解C++ 中 shared_ptr weak_ptr

    shared_ptr 是一个标准的共享所有权的智能指针,允许多个指针指向同一个对象,定义在 memory 文件中,命名空间为 std,这篇文章主要介绍了C++ 中 shared_ptr weak_ptr,需要的朋友可以参考下
    2022-07-07
  • C++中const修饰符的详解及其作用介绍

    C++中const修饰符的详解及其作用介绍

    这篇文章主要介绍了C++中const修饰符的详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论