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

嵌入式STM32控制电梯面板

嵌入式STM32控制电梯面板 用点阵来显示电梯向上还是向下运动,用数码管来显示楼层数(由于灯阵显示楼层数比较困难故用数码管代替)。当按下对应的按钮,就可以去到对应层数,可上升可下降。 #include "stm32f10x.h" #include "stm32f10x_exti.h" #include "stm32f10x_it.h" #define uint unsigned int #define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10) #define

code_init_的博客 2111

队列基本操作

描述 输入若干个整数(小于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

解决倍福ADS通信错误1861和6:一次完整的TwinCAT3路由配置与故障排查实录

本文详细解析了在Linux系统上解决倍福ADS通信错误1861和6的完整流程,包括TwinCAT3路由配置与故障排查。通过实例演示了如何正确配置AMS NetID、使用adstool工具添加静态路由,以及高级网络抓包分析技巧,帮助工程师快速定位和解决通信问题。

weixin_30875157的博客 520

VI恒流源原理详细分析(0~10V转0/4~20mA)

但是此电阻也不能无限增加,首先我们所列方程均是基于运放虚短虚断的假设,此假设又是基于运放输入阻抗无穷大,输出阻抗无穷小的前提条件,然而实际的运放并非理想运放,对于TL082IDR这款运放,其Rid(Common-mode input resistance)典型值为1TΩ,以此来看感觉1MΩ确实还不是很大,但是还有另一个影响因素需要考虑,那就是电路的抗干扰能力,原则上,电阻越大受到外部干扰的可能性越大。也就是实现Uin 0~10V变化时对应Iout 0~20mA的一个线性对应关系。

IOTBOT的博客 2900

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

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

2301_76375498的博客 4251

ros_gz_bridge__镜像__readme

Run。

1113

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

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

Code丶Q的博客 725

【AVRCP】规范精讲[19]: 媒体属性全解析,让你的蓝牙设备显示完整歌曲信息

AVRCP协议中的媒体属性是蓝牙音频设备传输歌曲元数据的关键,包含标题、艺术家、专辑等32位ID标识的键值对信息。规范要求字符串属性必须使用UTF-8编码,但乱码问题频发(如中文显示异常),主因是设备未遵循编码标准或使用GBK等非规范格式。常见问题包括信息不全(仅显示标题)、封面缺失(因带宽限制或格式不支持)及更新延迟(通知机制未启用)。解决方案包括强制UTF-8编码、优化封面大小(如300x300像素JPEG)、主动请求缺失属性。Android示例代码展示了通过广播接收器解析媒体属性的方法。

byte轻骑兵的技术小窝 1万+

基于高斯两步移动搜寻法(2SFCA)的城市绿地可达性分析

第二步,对于每一个街道i,给定空间距离阈值d0,便形成另一个空间作用域,同样对于落在空间作用域内的每块绿地l的供给比率(Rl)利用高斯方程赋以权重,然后对这些加权后的供给比率(Rl)进行加和,便得到每个街道i的绿地可达性Ai。图3与图4是高斯两步移动搜索法的示例。在图3中,以d0为阈值,有1、2、3 三个街道中心点落在了绿地a的空间作用域内。同样在图4中,以d0为阈值,有a、c两个绿地中心点落在了街道2的空间作用域内,根据公式(3),对a、c高斯方程加权后的供需比率进行累加,便得到了街道2 的绿地可达性。

2301_77310370的博客 2404

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

路径规划 | 图解RRT*算法(附ROS C++/Python/Matlab仿真)

RRT*算法针对传统RRT算法进行了渐进最优改进,在添加节点到搜索树的过程中进行重连选择。本文图解RRT*算法原理,并采用ROS C++、Python、Matlab三种语言实现算法,加深理解

FRIGIDWINTER的博客 9405

第三章 栈与队列 练习题

链接: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

机器学习算法 —— LightGBM

本次我们选择英雄联盟数据集进行LightGBM的场景体验。英雄联盟是2009年美国拳头游戏开发的MOBA竞技网游,在每局比赛中蓝队与红队在同一个地图进行作战,游戏的目标是破坏敌方队伍的防御塔,进而摧毁敌方的水晶枢纽,拿下比赛的胜利。现在共有9881场英雄联盟韩服钻石段位以上的排位比赛数据,数据提供了在十分钟时的游戏状态,包括击杀数、死亡数、金币数量、经验值、等级……参考项目:机器学习系列入门系列[七]:基于英雄联盟数据集的LightGBM的分类预测。

ZShiJ的博客 708

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OpenJudge | 双端队列

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

Mryan2005的博客 323

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OpenJudge 栈的基本操作

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

qq_51767234的博客 833

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

栈与队列 练习

栈 #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、付费专栏及课程。

余额充值