题解 | #【模板】队列#

【模板】队列

https://www.nowcoder.com/practice/afe812c80ad946f4b292a26dd13ba549

队列的基本用法

#include <stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#define MAXSIZE 100000
struct queue{
    int data[MAXSIZE];
    int front;
    int tail;
};
void InitQueue(struct queue* q){
    q->front = -1;
    q->tail = -1;
}
void pushQueue(struct queue* q,int temp){
    q->data[q->tail++] = temp;
}
bool popueue(struct queue* q,int* temp){
    if(q->front == q->tail){
        return false;
    }
    *temp = q->data[q->front++];
    return true;
}
bool front(struct queue* q,int* temp){
    if(q->front == q->tail) return false;
    *temp = q->data[q->front];
    return true;
}
int main() {
    struct queue* q= (struct queue*)malloc(sizeof(struct queue));
    InitQueue(q);
    int num;
    scanf("%d",&num);
    for(int i = 0;i<num;i++){
        char temp[6];
        scanf("%s",temp);
        if(!strcmp(temp,"push")){
            int num;
            scanf("%d",&num);
            pushQueue(q,num);
        }else if(!strcmp(temp,"pop")){
            int num;
            if(!popueue(q,&num)) printf("error\n");
            else printf("%d\n",num);
        }else{
            int num;
            if(!front(q,&num)) printf("error\n");
            else printf("%d\n",num);
        }
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 14:45
bg是二本双一流硕,目标是Java后端开发岗,投暑期实习0大厂面试,只有极少的大厂测开,可能投的晚加上简历太烂加上0实习?求大佬们给个建议
程序员小白条:别去小厂,初创或者外包,尽量去中小,100-499和500-999,专门做互联网产品的,有公司自研的平台和封装的工具等等,去学习一些业务相关的,比如抽奖,积分兑换,SSO认证,风控,零售等等,目标 Java 后端开发吗?你要不考虑直接走大厂测开?如果技术不行的话,有面试你也很难过的
实习,不懂就问
点赞 评论 收藏
分享
07-02 13:52
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务