#include<stdio.h>
#include<stdlib.h>
//定义队列中的节点类型。
typedef char DataType;
typedef struct node{
DataType data;
struct node *next;
}qnode;
//定义队列的队头和队尾指针
typedef struct
{
qnode * front,*rear;
}linkQueue;
//初始化队列
void init(linkQueue *q)
{
q->front=q->rear=NULL;
}
//判断队列是否为空
int isEmpty(linkQueue q)
{
return NULL==q.front;
}
//元素入队
void inQueue(linkQueue *q,DataType e)
{
qnode * node;
node=(qnode *)malloc(sizeof(qnode));//新增一个结点
node->data=e;
node->next=NULL;
if(isEmpty(*q))//判断是不是第一个元素
{
q->front=q->rear=node;
}
else
{
q->rear->next=node;
q->rear=node;
}
}
//元素出队
DataType outQueue(linkQueue *q)
{
DataType x;
qnode *temp;
if(isEmpty(*q))
{
printf("It's empty,can't delete !");
return YES;//本来是return NULL;
}
else
{
temp=q->front;
x=temp->data;
q->front=temp->next;
free(temp);//释放结点所占的内存空间
printf("出栈成功。");
return x;
}
}
int main()
{
linkQueue queue;
init(&queue);
DataType c;
while((c=getchar())!='\n')
{
inQueue(&queue,c);
}
while(!isEmpty(queue))
{
printf("%c ",outQueue(&queue));
}
printf("\n");
return 1;
}
分享到:
相关推荐
给出一个线性结构的进出顺序,判定这个结构是栈还是队列。(40’) 输入描述第一行输入一个整数s,代表有s组测试数据。第一行输入一个整数 n,代表操作的次数。输入 n 行,每行包含两个整数 type val。 当 type = 1时...
使用栈和队列实现: 设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出;汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端...
数据结构栈与队列专题,停车场管理问题。 原题如下: 设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的...
问题描述:利用堆栈和队列实现一个停车场管理系统 基本要求: 设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里向大门口处停放(最先到达的第...
这是一个基于C/C++的停车场管理系统,主要包括 Enter_Parking()、Exit_Parking()、Print() 以及一些栈和队列的操作函数。系统通过栈和队列来管理停车场和便道上的车辆,实现了车辆的进场、出场和打印停车信息的功能...
设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆...
操作结果:进行乘客的进出电梯活动。 NewClient(Elevator &E,WQueue w[5][2]) 操作结果:进入新乘客。 PrintStatus(Elevator &E,WQueue w[5][2]) 操作结果:输出当前状态。 Print(Elevator &E,Action a)
以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入的数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“达到”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的...
》问题描述 设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若...
仅仅认识到栈和队列是两种特殊的线性表是远远不够的,本次实习的目的在于使读者深入了解栈和队列的特征,以便在实际问题背景下灵活运用它们;同时还将巩固这两种结构的构造方法,接触较复杂问题的递归算法设计。 ...
程序设计思想:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输人数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入...
以栈模拟停车场,以队列模拟车场外的便道,按照以终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或者“离开”信息、汽车牌照号码以及到达或离开的时刻。对每一组输入数据进行操作...
以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后...
以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的...
以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后...
/*模拟车库*/ "队列"是限定所有插入操作只能在表的一端进行,而所有的删除操作都只能在表的另一 端进行。插入端叫队尾,删除端叫对头。按先进先出规则进行。程序中采用的结构是: typedef struct Node{ QueueNode *...
栈和队列的共同特点是( )。 选择一项: A. 都是先进先出 B. 都是操作受限的线性结构 C. 都是先进后出 D. 元素都可以随机进出 正确答案是:都是先进后出 题目2 数据的存储结构包括数据元素的表示和( )。 选择...
设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的...
问题描述:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽 车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已...
以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后...