openjudge数据结构练习集 队列基本操作

openjudge滑动窗口(单调递增递减队列) openjudge滑动窗口:递增递减序列 阅读详情

队列基本操作

总时间限制: 
1000ms
单个测试点时间限制: 
500ms
内存限制: 
5000kB
描述

输入若干个整数(小于50个),整数共有四种类型,不同类型的整数代表不同操作。说明如下:

1、[10,99]之间的整数:将该整数入队。

2、-1: 队首整数出队。

3、-2: 显示队列所有整数。

4、-3: 输入结束。


说明:采用链队列实现,必须有队列初始化函数、入队函数、出队函数。


输入
第一行若干整数(必须满足上述四种类型要求),以-3结束。
输出
输出队列中所有整数。
样例输入
13 25 90 -1 12 -2 -1 45 78 30 -2 -3
样例输出
25 90 12

90 12 45 78 30


#include<stdio.h>
#include<stdlib.h>

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0

#define MAXSIZE 20

typedef int Status;
typedef int QElemType;

typedef struct QNode	/*  ½áµã½á¹¹ */
{
	QElemType data;
	struct QNode *next;
}QNode,*QueuePtr;

typedef struct	/*  ¶ÓÁеÄÁ´±í½á¹¹ */
{
	QueuePtr front,rear; /*  ¶ÓÍ·¡¢¶ÓβָÕë */
}LinkQueue;

Status InitQueue(LinkQueue *Q)
{
	Q->front=Q->rear=(QueuePtr)malloc(sizeof(QNode));
	Q->front->next=NULL; 
	return OK;
}

Status EnQueue(LinkQueue *Q,QElemType e)
{
	QueuePtr s=(QueuePtr)malloc(sizeof(QNode));
	s->data=e;
	s->next=NULL;
	Q->rear->next=s;	/*  °ÑÓµÓÐÔªËØ e µÄнáµã s ¸³Öµ¸øÔ­¶Óβ½áµãµÄºó¼Ì */ 
	Q->rear=s;	/*  °Ñµ±Ç°µÄ s ÉèÖÃΪ¶Óβ½áµã£¬rear Ö¸Ïò s*/
	return OK;
}

Status DeQueue(LinkQueue *Q)
{
	QueuePtr p;
	if(Q->front==Q->rear)
		return ERROR;
	p=Q->front->next;	/*  ½«Óûɾ³ýµÄ¶ÓÍ·½áµãÔÝ´æ¸ø p*/
	//*e=p->data;	/*  ½«Óûɾ³ýµÄ¶ÓÍ·½áµãµÄÖµ¸³Öµ¸ø e */
	Q->front->next=p->next;/*  ½«Ô­¶ÓÍ·½áµãµÄºó¼Ì p->next  ¸³Öµ¸øÍ·½áµãºó¼Ì*/
	if(Q->rear==p)	/*  Èô¶ÓÍ·¾ÍÊǶÓ⣬Ôòɾ³ýºó½« rear Ö¸ÏòÍ·½áµã*/ 
		Q->rear=Q->front;
	free(p);
	return OK;
}

Status visit(QElemType c)
{
	printf("%d ",c);
	return OK;
}


Status QueueTraverse(LinkQueue Q)
{
	QueuePtr p; p=Q.front->next; 
	while(p)
	{
		visit(p->data);
		p=p->next;
	}
	printf("\n");
	return OK;
}


int main()
{
	LinkQueue q;
	InitQueue(&q);
	int n;
	scanf("%d",&n);
	while(n!=-3)
	{
		if(10<=n&&n<=99)
		{
			EnQueue(&q,n);
		}
		else if(n==-1)
		{
			DeQueue(&q);
		}
		else if(n==-2)
		{
			QueueTraverse(q);
		}
		scanf("%d",&n);
	}
	return 0;
}


openjudge 排队游戏(stack) 排队游戏 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 在幼儿园中,老师安排小朋友做一个排队的游戏。首先老师精心的把数目相同的小男孩和小女孩编排在一个队列中,每个小孩按其在队列中的位置发给一个编号(编 号从0开始)。然后老师告诉小朋友们,站在前边的小男孩可以和他后边相邻的小女孩手拉手离开队列,剩余的小朋友重新站拢,再按前 阅读详情

相关推荐

数据结构之队列的基本操作

包含队列的各个基本操作,而且还有主函数来实现..

【数据结构】栈和队列

1.栈 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做出栈。出数据也在栈顶。 栈的实现 栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。 因为数组在尾上插入数据的代价比较小。 ...

weixin_47132900的博客 1038

RK平台MPP编解码实战:从源码编译到性能测试全解析

本文详细解析了在RK(瑞芯微)平台上进行MPP(Media Process Platform)多媒体编解码实战的全过程。从源码获取、交叉编译环境搭建、常见编译问题排查,到测试程序的修改调试与性能测试分析,提供了从零到一的完整指南。文章通过实测数据展示了MPP硬件编解码在嵌入式设备上的高性能与低功耗优势,帮助开发者快速掌握这一关键技术,应用于智能摄像头、视频会议终端等产品开发。

weixin_28273593的博客 544

队列基本操作

描述 输入若干个整数(小于50个),整数共有四种类型,不同类型的整数代表不同操作。说明如下: 1、[10,99]之间的整数:将该整数入队。 2、-1:队首整数出队。 3、-2:显示队列所有整数。 4、-3:输入结束。 说明:采用链队列实现,必须有队列初始化函数、入队函数、出队函数。 输入 第一行若干整数(必须满足上述四种类型要求),以-3结束。 输出 输出队列中所有整数。 样例输入 13 25 90 -1 12 -2 -1 45 78 30 -2 -3 样例输出...

m0_65604564的博客 446

深入解析GEM5 McPAT NoC功耗模型:从arbiter电容计算到微架构关联

本文深入解析GEM5 McPAT NoC功耗模型,重点探讨arbiter电容计算与微架构的关联。通过拆解动态功耗公式和四类电容的物理本质,揭示能量与功率的转换关系,并提供参数调试和模型精度优化的实战技巧,帮助开发者更准确地预测和优化NoC功耗。

weixin_29305313的博客 201

GEO数据库数据下载方法总结

#GEO数据下载 GEO是生信分析经常用到的数据库。经常需要从中获取表达矩阵,平台信息,meta信息等,本博文总结了几种下载GEO数据的方法,各有优劣,实际应用过程中自行选择适合自己的。 ##方法一:直接从浏览器中下载 以数据集GSE1001为例, 可以直接点击“Series Matrix Files”获取该样本txt格式的表达谱数据,一般我们认为这种处理过的表达谱数据是没有问题的,当然,具体情况具体分析。 打开下载的文件可以看到许多“#”开头的行,这些是注释信息,一般关注这些注释信息中的“data pr

sakoko_的博客 4万+

利用C语言,从键盘输入若干个整数(数据个数应少于50),其值在0到4的范围内,用-1,作为输入结束的标志。统计每个整数的个数。

利用C语言,从键盘输入若干个整数(数据个数应少于50),其值在0到4的范围内,用-1,作为输入结束的标志。统计每个整数的个数。

2301_76375498的博客 4251

YOLOv8基础环境搭建cuda+anaconda+pytorch+pycharm

首先安装NVIDIA gpu的电脑安装显卡驱动,如果安装过了,或者想使用cpu的,可以跳过这一步。打开cmd,输入nvidia-smi查看GPU的CUDA版本,可以看到CUDA版本12.3,意味着只能安装小于12.3的CUDA版本。下载完成,进行安装,建议安装在非系统盘,以后会创建比较多的环境的话,剩下的默认安装即可。,需要注册一个NVIDIA账号,然后选择CUDA对应版本的cudnn即可。,以12.2.1版本举例,选好系统参数,点击下载,,以11.6版本举例,选好系统参数,点击下载,

qq_16602159的博客 2383

【C语言数据结构必学算法】从键盘输入若干整数(数据个数应少于 50),其值在 0~4的范围内,用-1作为输入结束的标志。统计每个整数的个数。

从键盘输入若干整数(数据个数应少于 50),其值在 0~4的范围内,用-1作为输入结束的标志。统计每个整数的个数。

Code丶Q的博客 725

Unity坦克物理系统:履带驱动与力场建模实战指南

在游戏物理仿真中,履带车辆的运动建模远超传统轮式控制器的范畴。其核心在于摒弃WheelCollider的滚动幻觉,转向基于牛顿力学的力与力矩协同求解——通过主推进力场、转向力矩场和地面反作用力场三重叠加,实现对质量、摩擦、惯性及坡度阻力的真实响应。这种建模方式不仅支撑坦克爬坡、陷泥、侧倾等复杂行为,更保障了多人同步与高帧率下的物理稳定性。Physics Tank Maker 正是这一思路的工业级落地,它将PhysX底层机制与坦克动力学深度耦合,提供可调参数、事件驱动视觉反馈及标准扩展接口,成为面向严肃模拟类

weixin_29535577的博客 562

python基础知识补充

1. jupyter notebook 解释 2. ipython 魔法命令 3. latex in Markdown cell(在markdown里面编写数学公式) 4. jupyter notebook功能扩展:安装Nbextension 5. python解释与运行 6. 垃圾回收(计数机制与分代回收机制) 7. 名字空间与局部作用域L和全局作用域G 8. 小整数缓存区与字符驻留 9. Statement &Expression 10. 调试

weixin_43178406的博客 1万+

openjudge数据结构练习集 数制转换(栈应用)

数制转换(栈应用)总时间限制: 1000ms内存限制: 65536kB描述编程实现:输入两个正整数m和r(2&lt;= r &lt;=16),输出与十进制数m相等的r进制数。大于9的数字依次使用大写字母:A B C D E F要求:使用链栈来实现,否则成绩记0分。输入输入一行,包括两个整数m和r,用空格隔开。1&lt;=m&lt;=9999, 2&lt;=r&lt;=16输出与十进制整数m相等的r...

beforeevery的博客 590

Google 二次签名 导致 Facebook , Google 登录失败

google 授权登录

xq610928的博客 1957

第三章 栈与队列 练习题

链接:http://dsalgo.openjudge.cn/stackqueue/1/ 来源:数据结构与算法MOOC 文章目录1:用队列对扑克牌排序2:栈的基本操作3:stack or queue4:双端队列5:等价表达式8:抓住那头牛9:发型糟糕的一天10:括号画家11:机器翻译 1:用队列对扑克牌排序 #include<bits/stdc++.h> using namespac...

Sun 871

基于YOLOv8改进的目标检测算法研究及毕设实现全流程指南

在PyTorch中定义改进后的YOLOv8模型。首先,导入相关的库和模块,然后定义骨干网络、颈部和头部的结构。# 这里定义骨干网络的结构,例如使用改进的CSP结构# 卷积层、批归一化层、激活函数等# 更多的卷积层、批归一化层、激活函数等# 其他层...# 其他层的输出...然后,定义颈部和头部的结构,类似地,将注意力机制和特征增强方法集成到模型中。本毕设以YOLOv8为基础,通过集成注意力机制、应用特征增强技术等方法,改进了目标检测算法。

m0_64661770的博客 323

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OpenJudge | 双端队列

总时间限制: 1000ms 内存限制: 65535kB。

Mryan2005的博客 323

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

OpenJudge 栈的基本操作

OpenJudge 数据结构与算法MOOC 栈的基本操作

qq_51767234的博客 833

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

栈与队列 练习

栈 #include&amp;lt;stdio.h&amp;gt; #include&amp;lt;windows.h&amp;gt; #include&amp;lt;assert.h&amp;gt; typedef int DataType; #define Stack_size 10 typedef struct Stack { DataType* _array;//数组指针 size_t _top; //栈顶

Ferlan的博客 1531

OpenJudge | 用队列对扑克牌排序

总时间限制: 1000ms 内存限制: 65536kB。

Mryan2005的博客 712

数据结构C++语言版 -- 栈和队列

大二学生的 C++数据结构有部分Openjudge提交的代码没有删除 邮箱:liu_772021@yeah.net 欢迎交流讨论~ 有用的话,点赞留言 ``` // // main.cpp // Stack and Queue // // Created by Liu_77 on 2021/12/15. // #include <iostream> #include <cstring> using namespace std; #define MAXSIZ.

catlv77的博客 673

【OpenJudge题集目录】MOOC课程程序设计与算法完整版

本课程专为初学者设计,按照教材的章节结构进行知识点分类,确保每个知识点和章节都配有相应的练习题。从基础的输入输出操作开始,逐步深入到变量、常量、条件选择、循环控制、函数以及数组等概念,通过实践练习来巩固和提升你的编程基础。

优快云 精品推荐 2495

用C++模拟流感传播?这道NOI/OpenJudge经典题,帮你彻底搞懂BFS和二维数组

本文通过C++模拟流感传播的经典NOI/OpenJudge题目,详细解析了二维数组与BFS算法的应用与优化。从暴力解法到BFS优化,展示了算法思维的重要跃迁,帮助竞赛选手提升解题效率与技巧。

weixin_30460489的博客 393

别再死磕深搜了!用C++队列搞定迷宫最短路径,信息学奥赛OpenJudge真题保姆级解析

本文详细解析了如何使用C++队列实现广度优先搜索(BFS)解决迷宫最短路径问题,特别针对信息学奥赛和OpenJudge真题。通过对比DFS的局限性,展示了BFS在时间和空间复杂度上的优势,并提供了完整的代码实现和调试技巧,帮助竞赛选手高效应对迷宫类题目。

weixin_30740295的博客 253

数据结构与算法 第03部分:栈与队列(队列)

1:队列定义 #define Maxsize 100 typedef struct SqQueue{ int *pBase; //基地址 int nFront,nRear; //头指针,尾指针 }SqQueue; 2:循环队列的初始化 //循环队列的初始化 bool InitQueue(SqQueue &Q)//注意使用引用参数,否则出了函数,其改变无效 { Q.p...

Win_Xin的博客 301

电子学会 青少年软件编程(C语言)等级考试6级 训练题汇总

电子学会 青少年软件编程(C语言)等级考试6级 训练题汇总

青少年趣味编程 557
上一篇: openjudge数据结构练习集 字符栈的实现
beforeevery
博客等级 码龄9年 9粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值