zoukankan      html  css  js  c++  java
  • 顺序队列的初始化,建立,插入,查找,删除。

    代码
    //////////////////////////////////////////////
    //顺序队列的初始化,建立,插入,查找,删除。//
    //Author:Wang Yong //
    //Date: 2010.8.19 //
    //////////////////////////////////////////////


    #include
    <stdio.h>
    #include
    <stdlib.h>

    #define MAX 100
    typedef
    int ElemType;

    /////////////////////////////////////////////

    //定义队列类型

    typedef
    struct QNode
    {
    ElemType data[MAX];
    int front,rear;
    }SeqQueue;

    /////////////////////////////////////////////

    //顺序队列的初始化

    SeqQueue SeqQueueInit()
    {
    SeqQueue Q;
    //队头和队尾相等即为空队列
    Q.front = Q.rear = 0;
    return Q;
    }

    /////////////////////////////////////////////

    //顺序队列的入队

    void SeqQueueEnter(SeqQueue &Q,ElemType x)
    {
    if( (Q.rear+1) % MAX == Q.front )//入队必须判断队列是否满了
    printf("Queue full\n");
    Q.rear
    = (Q.rear+1) % MAX;
    Q.data[Q.rear]
    = x;

    }

    ///////////////////////////////////////////

    //顺序队列的出队列

    ElemType SeqQueueOut(SeqQueue
    &Q)
    {
    if(Q.rear == Q.front) //出队列时候必须判断队列是否为空
    printf("Queue empty\n");
    ElemType x;
    Q.front
    = (Q.front+1) % MAX;
    x
    = Q.data[Q.front];

    return x;
    }

    //////////////////////////////////////////

    int main()
    {
    SeqQueue queue;
    queue
    = SeqQueueInit();
    ElemType x;
    printf(
    "请输入入队列的元素:");
    while(scanf("%d",&x) != EOF)
    {
    SeqQueueEnter(queue,x);
    }
    while(queue.front != queue.rear)
    {
    printf(
    "%d ",SeqQueueOut(queue));
    }
    return 0;
    }

  • 相关阅读:
    2017面向对象程序设计寒假作业2!
    寒假学习计划
    2017面向对象程序设计寒假作业1!
    bzoj3583 杰杰的女性朋友
    poj1185 [NOI2001炮兵阵地]
    bzoj1009 [HNOI2008]GT考试
    EXKMP
    bzoj1355 [Baltic2009]Radio Transmission
    poj1275 Cashier Employment
    bzoj3809 Gty的二逼妹子序列
  • 原文地址:https://www.cnblogs.com/newwy/p/1847461.html
Copyright © 2011-2022 走看看