【队列项目3 - 负数把正数赶出队列--第7周】

来源:互联网 发布:mac下java开发工具 编辑:程序博客网 时间:2024/05/03 21:53

负数把正数赶出队列

设从键盘输入一整数序列a1,a2,…an,试编程实现:当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai=0时,表示输入结束。要求将队列处理成环形队列,使用算法库中定义的数据类型及算法,程序中只包括一个函数(main函数),入队和出队等操作直接写在main函数中即可。当进队出队异常(如队满)时,要打印出错信息。

#ifndef SQQUEUE_H_INCLUDED#define SQQUEUE_H_INCLUDED/** Copyright (c) 2015, 烟台大学 计算机与控制工程学院* All rights reserved.* 文件名称:main.cpp,sqqueue.cpp,sqqueue.h* 作者:徐吉平* 完成日期:2015年10月14日* 版本号:code ::Block 13.12** 问题描述:<span style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 14px; line-height: 35px;">设从键盘输入一整数序列a1,a2,…an,试编程实现:当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai=0时,表示输入结束。要求将队列处理成环形队列,使用算法库中定义的数据类型及算法,程序中只包括一个函数(main函数),入队和出队等操作直接写在main函数中即可。当进队出队异常(如队满)时,要打印出错信息</span>* 输入描述:无*/#include "sqqueue.h"#include <stdio.h>int main(){    ElemType a,x;    SqQueue *dui;    InitQueue(dui);    while(1)    {        printf("输入a值(输入正数进队,负数出队,0结束):\n");        scanf("%d",&a);        if(a>0)        {            if(!enQueue(dui,a))                printf("  队列满,不能入队");        }        else if(a<0)        {           if (!deQueue(dui, x))                printf("  队列空,不能出队\n");        }        else            break;    }    printf("出队列序列:\n");    while (!QueueEmpty(dui))    {        deQueue(dui,a);        printf("%d ",a);    }    printf("\n");    printf("释放队列\n");    DestroyQueue(dui);    return 0;}


sqqueue.h内容参照请参照本人博客,顺序环形队列算法库

本项目作为队列应用最简单的项目之一为我们以后做更加复杂的项目做了准备


0 0
原创粉丝点击