力扣经典题目:循环队列

1.虽然是循环队列,但需要提供一个队列为满的情况,所以,要设立一个空的队列元素,当最后一个元素的next指针加一等于第一个元素的时候为满

2.可以增加一个size记录元素个数,当size为0的时候为空,当size为目标个数时为满,可以代替1

3.解决思路:双向链表,或者增加一个指针或遍历获取队尾数据,空的部分在头指针的前一个

4.各函数思路:

        1.初始化函数:其要点在于要扩充结构体中的数组的空间

        2.判空即首尾指针相同,判满有两种情况,一种是尾指针的后一个就是头指针,另一种是尾指针在倒数第二个位置,头指针在第一个位置

        3.尾插首先要判断是否为满,如果不是满的就可以插入数据,而此时分为两种情况,由于我们使用了数组,所以先将arr[obj->tail]赋值,然后将tail向后移动一位,如果此时tail已经在队列的最后一个,那么需要让tail赋值为0

        4.删除首先要判断是否为空,然后直接让头指针向后一位进行头删,如果头指针在最后一位,则返回0

5.队尾元素的返回首先判断是否为空,然后分两种情况,如果tail不是0则返回tail-1的数组元素,是的化返回数组的k项。

6.代码环形队列 · 王赫辰/c语言 - Gitee.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/362961.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kafka-服务端-PartitionLeaderSelector、ReplicaStateMachine

PartitionLeaderSelector 通过对前面的分析可知,PartitionMachine将Leader副本选举、确定ISR集合的工作委托给了PartitionLeaderSelector接口实现,PartitionMachine可以专注于管理分区状态。这是策略模式的一种典型的应用场景。 图展示了PartitionLead…

收集子域名信息(二):第三方网站查询

一、介绍 通过第三方网站查询子域名信息是指使用外部提供的在线工具或服务,通过输入主域名(主网站的域名)来获取与该主域名相关的子域名列表的过程。子域名是在主域名下创建的附加标识,通常用于将网站内容组织成不同部分或为特定…

如何使用mock.js实现接口测试的自动化?

Mock.js 基础用法介绍 Mock.js是一个常用于生成随机数据和拦截Ajax请求的JavaScript库。本文将介绍Mock.js的用法,包括安装和基础用法,在开始前我们可以看下看:了解 Mock.js 的语法规范。 安装 可以通过npm安装Mock.js: npm i…

2024年【汽车驾驶员(高级)】模拟试题及汽车驾驶员(高级)理论考试

题库来源:安全生产模拟考试一点通公众号小程序 汽车驾驶员(高级)模拟试题是安全生产模拟考试一点通总题库中生成的一套汽车驾驶员(高级)理论考试,安全生产模拟考试一点通上汽车驾驶员(高级&…

动画学习:CSP动画制作

会画画就能做手书?!真动画入门教程!【优动漫/CSP教程】https://www.bilibili.com/video/BV1ku411S7Ey/?spm_id_from333.337.search-card.all.click&vd_source124076d7d88eee393a1d8bf6fc787efa 有些人用的是优动漫软件,但是…

现在普通人的消费选择发生了怎样的变化?

消费选择的变化:现代普通人消费观念的演变 随着社会的进步和经济的发展,现代普通人的消费选择发生了翻天覆地的变化。这种变化不仅体现在物质生活的丰富上,更反映在人们消费观念的转变上。 在过去,人们的消费选择相对单一&#…

网络层 IP协议(1)

前置知识 主机:配有IP地址,但是不进行路由控制的设备 路由器:既配置了IP地址,又能进行路由控制的设备 节点:主机和路由器的总称 IP协议主要完成的任务就是 地址管理和路由选择 地址管理:使用一套地址体系,将网络设备的地址描述出来 路由选择:一个数据报如何从源地址到目的地址 …

C++ : 类的简单介绍(四)——析构函数

概念: 与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由 编译器完成的。 而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。 特征: 1. 析构函数名是在类名前加上字符 ~ 2. …

大数据分析|从七个特征理解大数据分析

文献来源:Saggi M K, Jain S. A survey towards an integration of big data analytics to big insights for value-creation[J]. Information Processing & Management, 2018, 54(5): 758-790. 下载链接:链接:https://pan.baidu.com/s/1…

【Zotero】如何在word文档中插入zotero中的文献

博主最近在用zotero管理文献,并在word文档中写文章,期间需要将zotero生成的参考文献插入文章中,这里将博主遇到的问题以及解决的办法分享给大家,供咱们一起学习。 博主遇到的问题主要有以下几个: 1、参考文献的格式以…

计算机网络——网络层(3)

计算机网络——网络层(3) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)1 网络层——控制平面因特网中自治系统内部的路由选择总括考虑因素总结 ISP之间的路由选择:BGP考虑因素总结 SDN控制层面重要组件和功能总结 ICMP主要功能和特点…

Java强训day13(选择题编程题)

选择题 编程题 题目1 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String s sc.nextLine();char[] c s.toCharArray();int i 0;int t 0;while (i < c.length) {if (c[i] ! \") {…

Spring速成(一)

文章目录 Spring速成&#xff08;一&#xff09;1&#xff0c;课程介绍1.1 为什么要学?1.2 学什么?1.3 怎么学? 2&#xff0c;Spring相关概念2.1 初识Spring2.1.1 Spring家族2.1.2 了解Spring发展史 2.2 Spring系统架构2.2.1 系统架构图2.2.2 课程学习路线 2.3 Spring核心概…

12nm工艺,2.5GHz频率,低功耗Cortex-A72处理器培训

“ 12nm工艺&#xff0c;2.5GHz频率&#xff0c;低功耗Cortex-A72处理器培训” 本项目是真实项目实战培训&#xff0c;低功耗UPF设计&#xff0c;后端参数如下&#xff1a; 工艺&#xff1a;12nm 频率&#xff1a;2.5GHz 资源&#xff1a;2000_0000 instances 为了满足更多…

C语言第十五弹---操作符(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 操作符 1、操作符的分类 2、二进制和进制转换 2.1、2进制转10进制 2.1.1、10进制转2进制数字 2.2、2进制转8进制和16进制 2.2.2、2进制转16进制 3. 原码、反…

【日常问题】Failed to enable unit: Unit file docker.service does not exist.

Failed to enable unit: Unit file docker.service does not exist. 1. 问题原因 笔者问题的产生是因为在ubuntu20.04下采用snapd安装的docker&#xff0c;因此 systemctl restart docker.servicesystemd并不能找到守护进程docker.service 同时使用docker命令时还会产生若干…

android 自定义下拉框

一、 简介&#xff1a; 原生Android 提供的spinner下拉框不怎么方便&#xff0c;样式有点丑。修改起来麻烦&#xff0c;于是就自己动手写了一下拉列表。 实现原理使用的是&#xff0c;popwindow弹框&#xff0c;可实现宽高自定义&#xff0c;下拉列表使用listview. 二、pop弹框…

【金蝶BI方案】用一张报表,分析生产完成情况

当老板问生产完成地怎样&#xff1f;难道还能拿出一叠报表让老板逐个细看&#xff1f;奥威-金蝶BI方案只用一张BI数据可视化报表就把整个生产完成情况给讲明白了。甚至还能满足老板想从不同角度进行分析的需求。 奥威-金蝶BI方案-BI生产完成情况报表 这张报表总结计算了生产合…

智能家居的网关新形态:Aqara 方舟智慧中枢 M3 体验

如果说在刚刚结束的 2023 年有哪些备受期待的智能家居产品&#xff0c;Aqara 方舟智慧中枢 M3 一定榜上有名&#xff0c;我的多位朋友也曾在装修过程中多次向我询问是否有这款产品的相关资讯&#xff1b;谁能想到自从在 2022 年 11 月首次亮相之后&#xff0c;这款产品一直等了…

Redis核心技术与实战【学习笔记】 - 13.Redis缓冲区可能引起的问题及解决套路

缓冲区的功能其实很简答&#xff0c;主要就是用一块内存空间来暂时存放命令数据&#xff0c;以免出现因为数据和命令的处理速度慢于发送速度而导致的数据丢失和性能的问题。但是因为缓冲区的内存空间有限&#xff0c;如果往里面写入数据的速度持续地大于从里面读取数据的速度&a…