`
zjjzmw1
  • 浏览: 1353619 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

队列进出栈等操作

c 
阅读更多

#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;
   
}




分享到:
评论

相关推荐

    Queue_栈队列_pop_

    给出一个线性结构的进出顺序,判定这个结构是栈还是队列。(40’) 输入描述第一行输入一个整数s,代表有s组测试数据。第一行输入一个整数 n,代表操作的次数。输入 n 行,每行包含两个整数 type val。 当 type = 1时...

    停车场管理系统(栈 队列实现)

    使用栈和队列实现: 设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出;汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端...

    数据结构-栈和队列-停车场管理问题

    数据结构栈与队列专题,停车场管理问题。 原题如下: 设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的...

    停车场管理问题,堆栈和队列应用

    问题描述:利用堆栈和队列实现一个停车场管理系统 基本要求: 设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里向大门口处停放(最先到达的第...

    停车场管理系统的设计与实现

    这是一个基于C/C++的停车场管理系统,主要包括 Enter_Parking()、Exit_Parking()、Print() 以及一些栈和队列的操作函数。系统通过栈和队列来管理停车场和便道上的车辆,实现了车辆的进场、出场和打印停车信息的功能...

    数据结构综合课设停车场问题.docx

    设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆...

    电梯模拟系统

    操作结果:进行乘客的进出电梯活动。 NewClient(Elevator &E,WQueue w[5][2]) 操作结果:进入新乘客。 PrintStatus(Elevator &E,WQueue w[5][2]) 操作结果:输出当前状态。 Print(Elevator &E,Action a)

    停车场的问题

     以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入的数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“达到”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的...

    简易停车场

    》问题描述 设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若...

    数据结构课程设计 四题

    仅仅认识到栈和队列是两种特殊的线性表是远远不够的,本次实习的目的在于使读者深入了解栈和队列的特征,以便在实际问题背景下灵活运用它们;同时还将巩固这两种结构的构造方法,接触较复杂问题的递归算法设计。 ...

    数据结构程序课程设计--停车场问题 代码

    程序设计思想:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输人数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入...

    停车场管理系统设计-数据结构

    以栈模拟停车场,以队列模拟车场外的便道,按照以终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或者“离开”信息、汽车牌照号码以及到达或离开的时刻。对每一组输入数据进行操作...

    停车场管理系统 数据结构

    以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后...

    数据结构综合课设停车场管理.docx

    以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的...

    停车场管理

     以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后...

    C语言课程设计报告停车场管理系统.doc

    /*模拟车库*/ "队列"是限定所有插入操作只能在表的一端进行,而所有的删除操作都只能在表的另一 端进行。插入端叫队尾,删除端叫对头。按先进先出规则进行。程序中采用的结构是: typedef struct Node{ QueueNode *...

    数据结构(本).docx

    栈和队列的共同特点是( )。 选择一项: A. 都是先进先出 B. 都是操作受限的线性结构 C. 都是先进后出 D. 元素都可以随机进出 正确答案是:都是先进后出 题目2 数据的存储结构包括数据元素的表示和( )。 选择...

    停车场问题

    设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的...

    数据结构课程设计停车场管理

    问题描述:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽 车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已...

    C++实现停车场管理系统+实习报告

    以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后...

Global site tag (gtag.js) - Google Analytics