文档库

最新最全的文档下载
  • 求职/职场
  • 总结/汇报
  • 工作bob网页登录网址
  • 教学研究
  • 资格考试
  • 外语考试
  • 高等教育
  • 高中教育
  • 初中教育
  • 小学教育
  • 幼儿教育
  • 表格/模板
  • 人文社科
  • 当前位置:文档库 > 循环队列(完整可运行代码)

    循环队列(完整可运行代码)

    1)顺序循环队列类型定义为:

    #define N 20typedef struct

    { int data[N];

    int front, rear;

    }queue_type;

    2)编写循环队列出队函数dequeue

    3)编写循环队列入队函数enqueue

    4)编写函数:void aa(queue_type *q);

    调用出对函数把队列q中的元素一一出对列,如果是负数直接抛弃;如果是正数,则调用入队函数,插入到q的队尾。5)编写main函数,首先建立一个队列,其中的数据元素为:{2, 3, -4, 6, -5, 8, -9, 7, -10, 20};然后调用aa函数,并将aa函数调用前后队列的数据元素分别输出到屏幕上。

    #include

    #define N 20

    typedef int elemtype;

    int count;

    typedef struct queue_type

    { elemtype data[N];

    int front;

    int rear;

    }queue_type;

    void initqueue(queue_type *q)

    {

    q->front=q->rear=0;

    return;

    }

    int enqueue(queue_type *q,elemtype x)

    {

    if((q->rear+1) % N == q->front)

    return 0;

    else

    {

    q->rear=(q->rear+1)%N;

    q->data[q->rear]=x;

    return(true);

    }

    }

    int dequeue(queue_type *q,elemtype *x)