數(shù)據(jù)結(jié)構(gòu)-隊列

我與數(shù)據(jù)結(jié)構(gòu)有個約會,帶你領(lǐng)略不一樣的數(shù)據(jù)結(jié)構(gòu)!

#include <stdio.h>
#include <stdlib.h>
#define Maxsize 100
typedef int QElemType;
typedef struct{
    QElemType data[Maxsize];
    int front; //頭指針
    int rear; //尾指針

}SqQueue;
//初始化
void InitQueue(SqQueue &L){
    L.front =L.rear =  0;
}

//隊列長度
int QueueLength(SqQueue L){
    return (L.rear - L.front + Maxsize) % Maxsize;
}

//入隊
bool EnQueue (SqQueue &L,int x){
    if((L.rear+1)%Maxsize == L.front){ //判斷隊滿條件
        return false;
    }
    L.data[L.rear] = x;
    //指針向后移動
    L.rear = (L.rear+1)%Maxsize;
    return true;
}
//出隊列
bool DeQueue(SqQueue &L,int &e){
    if(L.front == L.rear){
    return false;
    }
    e = L.data[L.front];
    //移動
    L.front = (L.front+1)%Maxsize;
    return true;
}
//輸出
void Print(SqQueue L){
    int len = QueueLength(L);
    for(int k = L.front;k<=len;k++){
        printf("%d",L.data[k]);
    }
}
int main(){
    int x,e=0;
    SqQueue l;
    InitQueue(l);
    for(int i=0;i<5;i++){
        scanf("%d",&x);
        EnQueue(l,x);
    }
    printf("\n");
    DeQueue(l,e);
    Print(l);
    system("pause");
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容