题解 | #【模板】队列#

【模板】队列

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

全部评论

相关推荐

实在太美:小m嘛,干嘛要狠狠骂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务