LiritoLiritoLirito 2.1. 第二级标题 2.1.0.0.0.1. 第六级标题

数据结构之队列

队列的链式存储

typedef struct node *ptnode;
struct node{
    elementtype data;
    ptnode next;
}
typedef ptnode position;

struct qnode{
    position front,rear;
    int maxsize;
}
typedef struct qnode *queue;

1.判断队列是否为空

elementtype isempty(queue q){
    return (q->front==null);
}

2.删除一个元素

elementtype deleteq(queue q){
    position frontcell;
    elementtype frontitem;
    if(isempty(q)){
        printf("队列为空");
        return error;
    }else{
        frontcell = q->front;
        if(q->front==q->rear)//只有一个元素
            q->front==q->rear==null;
        else 
            q->front=q->front->next;

        frontitem = frontcell->data;

        free(frontcell);
        return frontitem;
    }
}