zoukankan      html  css  js  c++  java
  • 数据结构

    include<stdio.h>

    include<stdlib.h>

    define max 30

    typedef struct{
    int *data;
    int front,rear;
    }circqueue;

    //给队列赋值
    int firstadd(circqueue q){
    q->data=(int
    )malloc(max*sizeof(int));
    int x;
    printf("请输入赋值数:");
    scanf("%d",&x);
    while(x!=0&&q->rear!=max-1){
    q->data[q->rear++]=x;
    printf("请输入赋值数:");
    scanf("%d",&x);
    }
    return 0;
    }

    //返回队列的元素个数
    int returnmath(circqueue *q){
    return (q->rear-q->front+max)%max;
    }

    //将元素插入x插入队尾
    int enqueue(circqueue *q,int x){
    if((q->rear+1)%max==q->front){
    return 0;
    }
    q->data[q->rear]=x;
    q->rear=(q->rear+1)%max;
    return 1;
    }

    //删除队头元素并将其返回
    int dequeue(circqueue *q){
    if(q->front==q->rear){
    printf("队空,无法删除");
    return 0;
    }
    q->front=(q->front+1)%max;
    return 1;
    }

    //返回队头元素
    int gotoqueue(circqueue *q){
    return q->data[q->front];
    }

    //输出队列各个元素
    void printfqueue(circqueue *q){
    for(int i=q->front;i!=q->rear;i=(i+1)%max){
    printf("输出元素为%d ",q->data[i]);
    }
    }

    //主函数中实现
    main(){
    circqueue q;
    q=(circqueue
    )malloc(sizeof(circqueue));
    q->front=q->rear=0;
    if(firstadd(q)0){
    printf("赋值成功! ");
    }
    printf("元素的个数为%d ",returnmath(q));
    int x;
    printf("请输入进队元素");
    scanf("%d",&x);
    if(enqueue(q,x)
    1){
    printf("插入成功! ");
    }
    else{
    printf("队列已满,无法插入! ");
    }
    if(dequeue(q)==1){
    printf("删除队头成功! ");
    }
    printf("队头元素为%d ",gotoqueue(q));
    printfqueue(q);
    }

  • 相关阅读:
    LAMP环境搭建
    Centos系统下Lamp环境的快速搭建(超详细)
    主题:Windows系统服务器磁盘挂载
    云硬盘
    独立IP与共享IP的区别
    网站备案的注意事项
    云主机与vps虚拟主机的区别
    vim 命令大全 / vi 命令大全
    【Linux】Linux中常用操作命令
    Linux Shell常用技巧(一) RE
  • 原文地址:https://www.cnblogs.com/javalv/p/10795171.html
Copyright © 2011-2022 走看看