第七周项目3--负数把正数赶出队列

来源:互联网 发布:js math 取整 编辑:程序博客网 时间:2024/06/05 00:38

问题与代码:

/*      Copyright (c)2016,烟台大学计算机与控制工程学院      All rights reserved.      文件名称:项目3.cpp      作    者:陈哲      完成日期:2016年10月9日      版 本 号:v1.0            问题描述:设从键盘输入一整数序列a1,a2,…an,试编程实现: 当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai=0时,表示输入结束。要求将队列处理成环形队列,使用环形队列算法库中定义的数据类型及算法,程序中只包括一个函数(main函数),入队和出队等操作直接在main函数中调用即可。当进队出队异常(如队满)时,要打印出错信息。 输入描述:若干数据。程序输出:若干数据。*/


头文件sqqueue.h和源文件sqqueue.cpp代码详见第七周项目1--建立顺序环形队列算法库

 

主函数main.cpp

#include <stdio.h>#include <malloc.h>#include "sqqueue.h"int main(){    ElemType a,x;    SqQueue *qu;    //定义队列    InitQueue(qu);  //队列初始化    while (1)    {        printf("输入a值(输入正数进队,负数出队,0结束):");        scanf("%d", &a);        if (a>0)        {            if (!enQueue(qu,a))                printf("  队列满,不能入队\n");        }        else if (a<0)        {            if (!deQueue(qu, x))                printf("  队列空,不能出队\n");        }        else            break;    }    return 0;}


运行结果:

 

知识点总结:

顺序环形队列的应用。

学习心得:

运用刚刚学过的顺序环形队列解决实际问题,促进我们对环形队列的理解。

 

0 0