队列--顺序队列的表示和实现

news2024/11/24 2:12:54

#include<stdio.h>
#define MAXQSIZE 10 
typedef int QElemType;
typedef int Status;
//顺序队列 (循环队列,有一个空间不用)
typedef struct{
	QElemType *base;
	int rear;
	int front;
}SqQueue;
//初始化队列 
Status InitQueue(SqQueue &Q){
	Q.base=new QElemType[MAXQSIZE];
	//或 Q.base=(QElemType *)malloc(MAXQSIZE*sizeof(QElemType))	
	if(!Q.base) return 0;
	Q.rear=Q.front=0;
	return 0;
}
//求队列的长度
int QueueLength(SqQueue Q) {
	return (Q.rear-Q.front+MAXQSIZE)%MAXQSIZE;
}
//入队
Status EnQueue(SqQueue &Q,QElemType &e){	
	if((Q.rear+1)%MAXQSIZE==Q.front ){//队满 
		return 0;
	}
	else{
		Q.base[Q.rear] =e;
		Q.rear=(Q.rear+1)%MAXQSIZE;
		return 1;
	}
} 
//出队
Status DeQueue(SqQueue &Q,QElemType &e) {
	if(Q.front==Q.rear) return 0;
	e=Q.base[Q.front];
	Q.front=(Q.front+1)%MAXQSIZE; 
	return 1;
}
//取队头元素
QElemType GetHead(SqQueue Q) {
	if(Q.front!=Q.rear){
		return Q.base[Q.front];
	}
}
main(){
	int n,e;
	SqQueue Q;
	//初始化 
	n=InitQueue(Q);
	if(n==1){
		printf("队列初始化成功\n"); 
	}
	//入队
	for(int i=0;i<10;i++) {
		EnQueue(Q,i);
	}
	//出队 
	n=DeQueue(Q,e);
	if(n==1){
		printf("出队元素:%d\n",e);
	}
	//求队列长度
	n=QueueLength(Q) ;
	printf("队列长度为%d\n",n);
	//取对头元素 
	e=GetHead(Q) ;
	printf("队头元素:%d\n",e);
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信Android一面凉经(2024)

微信Android一面凉经(2024) 笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《微信Android一面凉经(2024)》。 面试职位: 微信-客户端开发工程师-基础功能(广州) And…

数据结构——二叉树性质

性质1:在二叉树的第i层上至多有2^(i-1)个结点(i>1)。 这个性质很好记忆&#xff0c;观察一下图6-5-5。 第一层是根结点&#xff0c;只有一个&#xff0c;所以2^(1-1)2^01。 第二层有两个&#xff0c;2^(2-1)22。 第三层有四个&#xff0c;2^(3-1)2^24。 第四层有八个&am…

centos7 mysql 基本测试(6)主从简单测试

centos7 xtrabackup mysql 基本测试&#xff08;6&#xff09;主从简单测试 mysql -u etc -p 1234aA~1 参考&#xff1a; centos7 时区设置 时间同步 https://blog.csdn.net/wowocpp/article/details/135931129 Mysql数据库&#xff1a;主从复制与读写分离 https://blog.csd…

【中项】系统集成项目管理工程师-第5章 软件工程-5.3软件设计

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…

800G以太网测试之FEC压力测试(FEC统计,FEC Error Injection)

目录 FEC是什么 FEC测试需要关注哪些内容 基础的 FEC 性能监测 需要测试和验证的 FEC 特性 FEC Error Injection / FEC误码压力测试 Codeword & Symbol Error Configuration Errored Symbol Per CW Configuration Bit Error Mask Configuration Loop Mode FEC 引擎…

JavaScript Let

ECMAScript 2015 ES2015 引入了两个重要的 JavaScript 新关键词&#xff1a;let 和 const。 这两个关键字在 JavaScript 中提供了块作用域&#xff08;Block Scope&#xff09;变量&#xff08;和常量&#xff09;。 在 ES2015 之前&#xff0c;JavaScript 只有两种类型的作…

为边缘开发由生成式 AI 驱动的视觉 AI 智能体

为边缘开发由生成式 AI 驱动的视觉 AI 智能体 文章目录 为边缘开发由生成式 AI 驱动的视觉 AI 智能体什么是可视化 AI 智能体&#xff1f;使用 Jetson 平台服务为边缘构建视觉 AI 智能体构建基于 VLM 的视觉 AI 智能体应用程序VLM AI 服务提示工程与 Jetson 平台服务和移动应用…

针对网络延迟与弱网下的测试

学习的时候看见大佬这样的回复 作为一个测试小白&#xff0c;我心想&#xff0c;这我不得上手试一试 大佬说的工具模拟&#xff0c;大概是指Charles和fiddler两个软件&#xff0c;都可以模拟弱网&#xff0c;但是Charles收费&#xff0c;我拿fiddler练手 另一个故意引入固定百…

21-C语言的结构体尺寸——地址对齐问题

21-C语言的结构体尺寸——地址对齐问题 文章目录 21-C语言的结构体尺寸——地址对齐问题一、CPU 字长二、 地址对齐2.1 原理和原因2.2 地址对齐的主要思想2.3 示例代码说明地址对齐 三、普通变量的M值M值的计算规则例子 四、手动干预M值4.1 规则4.2 例子 五、结构体的M值5.1 例…

每天一个设计模式之职责链模式(第一天)

特别感谢刘伟老师&#xff0c;看他的书我学到了很多东西&#xff0c;从今天开始我要开始更新啦&#xff01; 在csdn个人博客来总结知识&#xff0c;把他们变成自己的能力。 对三&#xff0c;要不起&#xff0c;张三李四王五几个人在玩斗地主&#xff0c;过过过&#xff0c;一…

谷粒商城实战笔记-错误记录-启动失败

文章目录 一&#xff0c;lombok报错二&#xff0c;Output directory is not specified 一&#xff0c;lombok报错 java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled. Your processor is: com.sun.proxy.$Proxy8 Lombok …

靶场实战 _ ATTCK 实战 Vulnstack 红队

环境配置 网络拓扑图 (仅供参考) 攻击机&#xff1a;kali ip:192.168.111.5靶机&#xff1a;web-centos 外网ip:192.168.111.10 内网ip:192.168.93.100web1-ubuntu ip: 192.168.93.120PC ip: 192.168.93.30win 2008 ip:192.168.93.20win 2012 ip:192.168.93.10 信息搜集 端口…

【QT】常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)

一、控件概述 Widget 是 Qt 中的核心概念&#xff0c;英文原义是 “小部件”&#xff0c;此处也把它翻译为 “控件”。控件是构成一个图形化界面的基本要素。 像上述示例中的按钮、列表视图、树形视图、单行输入框、多行输入框、滚动条、下拉框都可以称为 “控件”。 Qt 作为…

世界渲染大赛含金量高吗?含金量怎么样?水平要求?

世界渲染大赛&#xff0c;作为全球3D艺术与渲染领域的顶级赛事&#xff0c;以其高含金量和专业水平要求而闻名。这一赛事不仅吸引了世界各地的专业3D艺术家、设计师和技术爱好者的积极参与&#xff0c;更以其严格的评审标准和创新性的主题设置&#xff0c;确保了参赛作品的高质…

C#初级——条件判断语句、循环语句和运算符

条件判断语句 简单的条件判断语句&#xff0c;if()里面进行条件判断&#xff0c;如果条件判断正确就执行语句块1&#xff0c;如果不符合就执行语句块2。 if (条件判断) { 语句块1 } else { 语句块2 } int age 18;if (age < 18){Console.WriteLine("未…

一天搞定React(3)——Hoots组件【已完结】

Hello&#xff01;大家好&#xff0c;今天带来的是React前端JS库的学习&#xff0c;课程来自黑马的往期课程&#xff0c;具体连接地址我也没有找到&#xff0c;大家可以广搜巡查一下&#xff0c;但是总体来说&#xff0c;这套课程教学质量非常高&#xff0c;每个知识点都有一个…

git sendemail使用

教程参考&#xff1a; git-send-email - 以电子邮件形式发送补丁集 1、安装git-email 2、配置 SMTP 服务器 git config --global sendemail.smtpserver smtp.163.com git config --global sendemail.smtpserverport 465 git config --global sendemail.smtpuser xxxxxx163.c…

Godot入门 04平台设计

新建创景&#xff0c;添加AnimatableBody2D节点。 添加Sprite2D节点 拖动图片 剪裁图片&#xff0c;吸附模式&#xff1a;像素吸附 添加CollisionShape2D&#xff0c;设置实际形状为矩形 重命名AnimatableBody2D节点为Platform&#xff0c;保存场景&#xff0c;拖动platform场景…

Docker NameSpace隔离

1、dd命令&#xff1a;dd 可从标准输入或文件中读取数据&#xff0c;根据指定的格式来转换数据&#xff0c;再输出到文件、设 备或标准输出 功能&#xff1a;用于读取、转换并输出数据 语法&#xff1a;dd OPTION 参数 1、 if文件名&#xff1a;输入文件名&#xff0c;默认为…

【第四天】计算机网络知识 HTTP1.0,HTTP1.1与HTTP2.0的区别 HTTP3.0

HTTP1.0&#xff0c;HTTP1.1与HTTP2.0的区别 HTTP1.0 默认是短链接&#xff0c;可以强制开启长连接。HTTP1.1默认长连接。HTTP2.0采用多路复用。 HTTP1.0&#xff1a; 默认使用短链接&#xff0c;每次请求都需要建立一个TCP连接。它可以设置&#xff1a;Connection: keep-aliv…