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);
    }

  • 相关阅读:
    控制测试与实质性程序的关系
    【2020-02-23】一个生活视角的触发
    工作,拼的都是脏和累
    【2020-02-22】让偶然不再偶然
    【2020-02-21】当心自己的想象力
    【2020-02-20】想清楚,自己在为谁服务
    静态化与伪静态化的区别
    e3商城_day04
    e3商城_day03
    服务器,操作系统,虚拟机,虚拟主机,IP地址
  • 原文地址:https://www.cnblogs.com/javalv/p/10795171.html
Copyright © 2011-2022 走看看