• 顺序队列的初始化,建立,插入,查找,删除。


    代码
    //////////////////////////////////////////////
    //顺序队列的初始化,建立,插入,查找,删除。//
    //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;
    }

  • 相关阅读:
    摄像头标定
    Call PDF to Vector Converter Command Line from C#, ASP, etc. web program languages
    Camera Calibration and 3D Reconstruction
    C++获取一个文件夹下的所有文件名(转)
    javascript学习之对象应用
    javascript中Array对象总结
    Joomla学习之模块
    关于ci中的表单提交问题
    phpcms之文件目录
    jQuery中的join方法
  • 原文地址:https://www.cnblogs.com/newwy/p/1847461.html
Copyright © 2020-2023  润新知