zoukankan      html  css  js  c++  java
  • 【About Queue】(待改)

    队列

    队列满足FIFO规则,先进先出。

    C语言代码:(Segmentation fault你大爷(メ ゚皿゚)メ)

    #include<stdio.h>
    #include<stdlib.h>
    
    typedef struct Queue
    {
        int size;
        int front;
        int rear;
        int *elements;
    }Queue;
    
    void createqueue(Queue *Q,int maxsize)
    {
        Q=(Queue*)malloc(sizeof(int)*maxsize);    
        /*初始属性*/
        Q->elements=(int*)malloc(sizeof(int)*maxsize);
        //!!!???
        Q->size=maxsize;
        Q->front=Q->rear=0;    //置为空队列
    }
    
    
    void Dequeue(Queue *Q)
    {
        if(Q->front==Q->rear)
        {
            printf("Queue is Empty!
    ");
            return;
        }    //若为空队列要提醒下~
        else
        {
            Q->front=(Q->front+1)%Q->size;    //Q.front循环+1,为防止出现负数啦
        }
    }
    
    
    int front(Queue *Q)    //就是书上那个gethead()啦(-`ェ´-╬)
    {
        if(Q->rear==Q->front)
        {
            printf("Queue is Empty!
    ");
            exit(0);
        }
        return Q->elements[Q->front];
    }
    
    void Enqueue(Queue *Q,int element)
    {
        if((Q->front+1)%Q->size==Q->front)    
        //这里空出一个元素,使得当(Q.front+1)%Q.size==Q.front,判断队列为满
        {
            printf("Queue is Full!
    ");
        }
        else
        {
            Q->elements[Q->rear]=element;
            Q->rear=(Q->rear+1)%Q->size;
        }
    }
    
    int main()
    {
        Queue *Q;
        createqueue(Q,3);
        Enqueue(Q,3);
        printf("%d
    ",front(Q));
        return 0;
    }
    我所理解的生活,就是和喜欢的一切在一起。
  • 相关阅读:
    JBuilder链接sql server数据库
    各种数据库连接代码(java)
    各种数据库连接代码的测试类(java)
    简单数据查询语句
    Oracle卸载
    Java字符串转换
    静态类示例
    授权对象的检查
    BAPI
    clear、REFRESH、free区别
  • 原文地址:https://www.cnblogs.com/suzyc/p/5095747.html
Copyright © 2011-2022 走看看