搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
花生_TL007
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
medRxiv | 基于网络的人类冠状病毒的药物重定位
2
Powerdesigner15-用jdbc链接MySQL实现逆向工程步骤_powerdesigner 配置 jdbc mysql数据库
3
实战美年健康AI大赛之三_大数据量的简化_美年健康ai算法大赛csdn
4
FPGA 29 ADC(数据采集)模数字转换驱动设计_数模驱动
5
Transformer的PyTorch实现_pytorch transformer
6
Hive简介&环境搭建_cdp集群如何开通tez ui
7
8.Hive中Lateral View、视图、索引_hive lateral view
8
pycharm中ui文件转py文件_pycharm中qtdesigner的ui转为python
9
复旦NLP | 80页大模型Agent综述
10
脉冲神经网络_【强基固本】脉冲神经网络(SNN)
当前位置:
article
> 正文
循环队列~基本操作_如何判断是否为循环队列
作者:花生_TL007 | 2024-06-02 03:06:39
赞
踩
如何判断是否为循环队列
循环队列与非循环队列的区别:
1~判断队列为空:
Q->rel==Q->font;
2~判断队列为满:
非循环队列:Q->rel==size;
循环队列: ( Q->rel+1)%size==Q->font;
(循环队列需要空出一个位置,且这个位置是不固定的,但它的下标一定为Q->fear-1.
如果不空出这个位置,那么当Q->rel==Q->font时,队列既可能为空,又可能为满。
循环队列很好的解决了
队列假溢
出这个问题。)
3~rel和font下标后移操作:
非循环队列:++Q->rel; ++Q->font;
循环队列: Q->rel=(Q->rel+1)%size; Q->font=(Q->font+1)%size;
4~求队列长度:
非循环队列:n=Q->rel;
循环队列: n=((Q->rel+size)-Q->font)%size;
#include<stdio.h>
#include<stdlib.h>
#define size 5
typedef struct node
{
int data[size];
int font;
int rel;
} Queue,*Queuep;
Queuep creatQueue(Queuep Q) //创建队列
{
int x,i=1;
printf("请输入第%d个元素:",i++);
scanf("%d",&x);
while(x!=-1)
{
Q->data[Q->rel++]=x;
printf("请输入第%d个元素:",i++);
scanf("%d",&x);
}
return Q;
}
void print_Queue(Queuep Q) //打印队列
{
int i;
if(isEmpty(Q))
{
printf("栈已空!!!\n");
return Q;
}
i=Q->font;
while(i!=Q->rel)
{
printf("%d ",Q->data[i++]);
if(i==size)
//此队列为循环队列
i=0;
}
printf("\n");
}
Queuep in_Queue(Queuep Q,int x) //元素入队
{
if(isFull(Q))
{
printf("队列已满!!!\n");
return Q;
}
Q->data[Q->rel]=x;
Q->rel=(Q->rel+1)%size;
//此队列为循环队列
return Q;
}
Queuep out_Queue(Queuep Q) //元素出队
{
if(isEmpty(Q))
{
printf("栈已空!!!\n");
return Q;
}
else
{
printf("出队的元素为:%d\n",Q->data[Q->font]);
Q->font=(Q->font+1)%size;
//此队列为循环队列
return Q;
}
}
Queuep get_Queue(Queuep Q) //获取队首元素
{
if(isEmpty(Q))
{
printf("栈已空!!!\n");
return NULL;
}
return Q->data[Q->font];
}
int isEmpty(Queuep Q) //判断队空
{
if(Q->rel==Q->font)
return 1;
else
return 0;
}
int isFull(Queuep Q) //判断队满
{
if((Q->rel+1)%size==Q->font)
return 1;
else
return 0;
}
int length_Queue(Queuep Q) //求队列长队(元素个数)
{
return ((Q->rel+size)-Q->font)%size;
//此队列为循环队列
}
int main()
{
int n;
int x;
Queuep Q;
Q=(Queuep)malloc(sizeof(Queue));
Q->font=Q->rel=0;
Q=creatQueue(Q); //创建队列
print_Queue(Q);
printf("队列的长度为:%d\n",length_Queue(Q));
printf("请输入需要入队的元素:"); //元素入队
scanf("%d",&x);
Q=in_Queue(Q,x);
print_Queue(Q);
Q=out_Queue(Q); //元素出队
printf("元素出队后的队列为:");
print_Queue(Q);
x=get_Queue(Q); //获取队首元素
if(!isEmpty(Q))
printf("队首元素为:%d\n",x);
x=length_Queue(Q); //求队列长度(元素的个数)
printf("队列长度为:%d\n",x);
return 0;
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/花生_TL007/article/detail/660775
推荐阅读
article
CORS
error
错误 has
been
blocked
by
CORS
policy
前端
请求
浏览...
问题简述通过vue的axious拦截全局
请求
在
请求
头上加了identify和token字段后,访问后端zuul网关,浏览...
赞
踩
article
代码
随想录
算法训练营
day41
...
【代码】代码
随想录
算法训练营
day41
。代码
随想录
算法训练营
day41
...
赞
踩
article
Mac
安装
开发
环境_
mac
系统
开发
...
先
安装
HomeBrew,后续
安装
其他环境,直接通过Homebrew命令
安装
,省时省力。_
mac
系统
开发
mac
系统
开发
...
赞
踩
article
nginx
负载均衡
反向
代理
MySQL
配置_
反向
代理
mysql
配置域名...
user
nginx
;worker_processes 1;error_log /var/log/
nginx
/error...
赞
踩
article
【
Mac
系统
重置
网络
】_
macbook
重置
网络
设置...
Windows重置
网络
的的方法windows
系统
校园网无法使用windows
系统
校园网无法使用你的维修我们已受理,如尝试...
赞
踩
article
Gitee
拉取
远程
代码
修改
并
上传
_
远程
拉取
完
仓库
如何
上传
...
Git
拉取
他人
仓库
修改
并请求合并_
远程
拉取
完
仓库
如何
上传
远程
拉取
完
仓库
如何
上传
目录 1、创建自...
赞
踩
article
Nginx
项目
代码
改
了
但是
内容没变化(
Nginx
项目重启)
_
nginx
搭建官网的时候
代码
已经
改
了
...
解决链接killall -9 uwsgiuwsgi -x xxxx.xml
_
nginx
搭建官网的时候
代码
已经
改
了
但...
赞
踩
article
2024年优化
算法
-牛顿-拉夫逊优化
算法
Newton
-
Raphson
-
based
optimizer
...
本期介绍一种新的基于数学的优化
算法
——,受到
Newton
-
Raphson
方法的启发。它使用两个规则来探索整个搜索过程:N...
赞
踩
article
计算机网络
实验:应用层协议
服务
配置
:
配置
DNS
服务
器
+
配置
HTTP
服务
器
+
配置
FTP
服务
器
(打开in...
我觉得
配置
DNS网络这部分的主要难点是:网上的资料太庞杂,有些是用
虚拟机
做的,有些是用ntbind做的,像我个人用的是W...
赞
踩
article
Java
-
若依
-
自定义
模块
二次开发
(不使用
代码生成
器gen)_
若依
前后端分离
二次开发
...
本次记录主要是不想使用
代码生成
工具,如上述内容存在错误、不恰当的地方欢迎指出。_
若依
前后端分离
二次开发
若依
前后端分离二次...
赞
踩
article
Python
毕业设计
开题报告房屋租赁租房
数据分析
和展示系统
_
python
房价
数据分析
及预测的
毕业设计
...
计算机
毕业设计
python
毕设项目之爬虫(
python
+mysql)租房
数据分析
和展示系统
_
python
房价
数据分析
及预...
赞
踩
article
MATLAB
| 有关数值
矩阵
、
颜色
图及
颜色
列表的技巧整理_
matlab
heatmap
改
颜色
...
~_
matlab
heatmap
改
颜色
matlab
heatmap
改
颜色
...
赞
踩
article
linux
环境下部署
jmeter
报错U
nable
to
access
jar
file /
home
/s...
Linux环境下部署
jmeter
查
jmeter
版本时报错U
nable
to
access
jar
file /
home
/s...
赞
踩
article
Zstack
私有
云
平台
运行
实践_
zstack
实操...
很高兴昨天加了大名鼎鼎的杰杰站长的微信,系统
运行
的怎么样,一定不能只是给力两个字完事,下面就上具体的:经过这几年的
运行
费...
赞
踩
article
FFmpeg
之
音频
封装
格式
、
音频
编解码器
_
音频
编解码器
128000...
音频
封装
格式
无损压缩无损压缩指的是在无损
格式
之间的压缩(转换),无论压缩(转换)成什么
格式
,音质都是相同的,并且都能还原...
赞
踩
article
Unity
之
UGUI
-
特效
遮挡问题2.0_
unity
scrollview
超出区域没有遮罩...
Unity
之
UGUI
-
特效
遮挡问题2.0之前有发过一版
特效
遮罩问题,部分的解决了【图-
特效
-图 】结构式的展示问题链接。...
赞
踩
article
GitLab
连接
Kubernetes
姿势一_查看
gitlab
部署到
kubernetes
集群的ap...
API URL 是你的集群的
api
server的地址, 通过输入kubectl cluster-info获取,Kuber...
赞
踩
article
unable
to
access
‘
https
://
git
hub.com/
dongguo4812
/a...
新电脑安装
git
,克隆个项目,但是发现clone不下来,
unable
to
access
‘
https
://
git
hu...
赞
踩
article
自然语言
处理
评测
汇总(持续更新)_与文本相似
,
逻辑
能力
评价
,
代码生成
的
质量
评价
相关
的
。我们现暂只做这...
自然语言
处理
评测
汇总(持续更新)目录
自然语言
处理
评测
汇总(持续更新)一、
评测
相关
会议1、 WSDM Cup 2020(2...
赞
踩
article
MySQL
内存
泄漏_
mysql
内存
泄露...
MySQL
内存
泄漏_
mysql
内存
泄露
mysql
内存
泄露
MySQL
多个版本中,包括5.7...
赞
踩
相关标签
前端
http
java
算法
数据结构
leetcode
macos
nginx反向代理
网络
git
github
matlab
开发语言
启发式算法
人工智能
服务器
计算机网络
python
数据分析
矩阵
linux
jmeter