首页 > 其他分享 >分玩具的源文件mytool.h

分玩具的源文件mytool.h

时间:2023-04-16 16:34:52浏览次数:33  
标签:return int mytool 玩具 源文件 base front top rear

#include<stdio.h>
#include<stdlib.h>
#define STACK_INT_SIZE 10
#define STACKINCREMENT 5
#define OK 1
#define ERROR 0
#define MAXQSIZE 51
typedef int ElemType;
typedef  int QElemType; /*队列元素类型*/
//栈的基本操作 
typedef struct
{
    ElemType *base;
    ElemType *top;
    int stacksize;
} SqStack;
//初始化栈
int InitStack(SqStack *s)
{
	s->base=(ElemType *)malloc(STACK_INT_SIZE*sizeof(ElemType));
	if(!s->base)
	return ERROR;
	s->top=s->base;
	s->stacksize=STACK_INT_SIZE;
	return OK;
}
//判断栈空
int EmptyStack(SqStack *s)
{
	if(s->top==s->base)
	return OK;
	else
	return ERROR;
}
//入栈
int PushStack(SqStack *s, ElemType e)
{
	if(s->top-s->base==s->stacksize)
	{
		s->base=(ElemType *)realloc(s->base,(s->stacksize+STACKINCREMENT)*sizeof(ElemType));
		if(!s->base)
		return ERROR;
		s->top=s->base+s->stacksize;
		s->stacksize+=STACKINCREMENT;
	}
	*s->top=e;
	s->top++;
	return OK;	
}
//出栈
int PopStack(SqStack *s,ElemType *e)
{
	if(s->base==s->top)
	return ERROR;
	s->top--;
	*e=*s->top;
	return OK;
}
//取栈顶元素 
int GetTop(SqStack *s,ElemType *e)
{
	if(s->base==s->top)
	return ERROR;
	*e=*(s->top-1);
	return OK;
}
//队列的基本操作 
typedef struct
{
    QElemType *base;
    int front;
    int rear;
}SqQueue;
/*初始化队列*/
int InitQueue(SqQueue *Q)
{
   Q->base=(QElemType *)malloc(MAXQSIZE*sizeof(QElemType));
   if(!Q->base)
   return ERROR;
   Q->front=Q->rear=0;
   return OK;
}/*InitQueue*/
/*求队长*/
int QueueLength(SqQueue *Q)
{
	if(Q->rear>Q->front)
    return Q->rear-Q->front;
    else
    return Q->rear+MAXQSIZE-Q->front;
}/*QueueLentgh*/
/*入队*/
int EnQueue(SqQueue *Q,QElemType e)
{
    if((Q->rear+1)%MAXQSIZE==Q->front)
    return ERROR;
    Q->base[Q->rear]=e;
    Q->rear=(Q->rear+1)%MAXQSIZE;
    return OK;
}/*EnQuese*/
/*出队*/
int DeQueue(SqQueue *Q,QElemType *e)
{
    if(Q->front==Q->rear)
    return ERROR;
    *e=Q->base[Q->front];
	Q->front=(Q->front+1)%MAXQSIZE;
	return OK; 
}/*DeQueue*/
/*判队空*/
int QueueEmpty(SqQueue *Q)
{
    if(Q->front==Q->rear)
    return OK;
    else
    return ERROR;
}/*QueueEmpty*/
/*取队头*/
int GetHead(SqQueue *Q,QElemType *e)
{
    if(Q->front==Q->rear)
        return ERROR;
    *e=Q->base[Q->front];
    return OK;
}/*GetHead*/
/*销毁队列*/
int DestroyQueue(SqQueue *Q)
{
    if(Q->base)
    {
        Q->rear=Q->front=0;
        free(Q->base);
    }
    return OK;
}/*DestroyQueue*/

标签:return,int,mytool,玩具,源文件,base,front,top,rear
From: https://blog.51cto.com/u_16030624/6193484

相关文章

  • Qt5.9 UI设计(三)——添加UI、类及资源文件
    前言设计一个软件,最简单的方式就是把控件直接往UI上放,然后再把功能实现了。这样可以实现基本的功能,但是界面不能缩放,如果拖动软件改变界面的大小,界面上的控件就会乱成一团,或者是界面的控件压根就不会跟着界面的大小进行改变。要使界面上的所有控件都随着界面的变化而变化,做到自......
  • 分玩具
    【问题描述】午后,幼儿园老师给小朋友分玩具,玩具数量和小朋友数量相同。玩具都放在箱子里,有积木和玩偶两种,有的小朋友喜欢积木,有的喜欢玩偶。小朋友排队按次序拿玩具:如果排在最前面的小朋友喜欢箱子最上面的玩具(只能拿最上面的玩具),那么会开心地离开队列去玩;否则不喜欢这个玩具,则会放......
  • ue4.27 VScode 找不到源文件修复方法
    修改.vscode目录下compileCommands_***.json多个文件 { "file":"E:\\\\UnrealProjects\\\\wargame_sanguo\\\\Source\\\\wargame_sanguo\\\\.vs\\\\ProjectSettings.json", "command":"E:\\UnrealProjects\\w......
  • delphi 资源文件管理 Resources and Images
    1、 把PNG图片放到项目中;2、 点击主菜单“Project”→“ResourcesandImages”,弹出下面的对话框 它会自动识别项目中的图片、音频等文件自动添加进来,如果没有识别出来或者是自定义文件类型的话,就点击【Add】按钮手动添加,然后选择合适的资源类型ResourceType,然后在Resou......
  • k8s前端js、css等资源文件CDN加速
     序言:用户访问网站,网站的加载速度直接影响着用户体验问题;前端js、css等文件资源需要加速访问处理;  方案一:js、css、png等资源打包到文件服务器,文件服务器抛出连接,工程项目打包的时候publicpath使用文件服务器访问链接;如图:需要购买文件服务器,把资源文件推送到文件服务......
  • 【牛客小白月赛69】题解与分析A-F【蛋挞】【玩具】【开题顺序】【旅游】【等腰三角形(
    比赛传送门:https://ac.nowcoder.com/acm/contest/52441感觉整体难度有点偏大。......
  • OFFICE2007安装出错:“错误 1311。没有找到源文件: Y:/OFFICE11/SKU011.CAB” 的解决办
    前几天下载了一个OfficeEnterprice2007WithServicePack2中文版(石油大学原版),今天在安装时报错:“错误1311。没有找到源文件:Y:/OFFICE11/SKU011.CAB。请确认文件是......
  • AI矢量源文件丨40+款卡通撞色主视觉海报
    今天给大家带来的是卡通撞色主视觉AI源文件(立即下载),一共有40款+,内容有许多高质量的哦,我们一起来看看吧:真的每一张都太好看太美了,每一张都想放上来啊,但是实在太多了,大家还......
  • 全志R128芯片 如何在FreeRTOS下对代码源文件进行快速预处理?
    1.主题FreeRTOS_R128_如何对代码源文件进行快速预处理2.问题背景硬件:R128软件:FreeRTOS客户在日常的开发过程中,会碰到源文件中有许多的宏或许多条件编译的代码,有时候需......
  • Android资源文件特殊字符转义编码
    举个栗子啊,我今天用了@这个符号写了好多次都没写成功,原因出在哪里:"&#64;好友"这样就报红;"&#64;好友"这样就没事了 .所以呢以下的 某些编码不允许放在开头,到前......