C-04-队列

队列 (Queue)

First in first out

Operations

1) EnQueue(x)
2) DeQueue()
3) Front()
4) IsEmpty()
时间复杂度都是 O(1)

用数组实现队列

#include<stdio.h>
#define MAX 10

int front=-1;
int rear=-1;
int A[MAX];

int IsEmpty(){
    if(front==-1 && rear==-1){
        return 1;
    }else{
        return 0;
    }
}
int IsFull(){
    if((rear+1)%MAX == front){
        return 1;
    }else{
        return 0;
    }
}

void EnQueue(int x){
    if(IsFull()){
        return;
    }else if(IsEmpty()){
        front=0;
        rear=0;
        A[rear]=x;
    }else{
        rear = (rear+1)%MAX;
        A[rear]=x;
    }
}

void DeQueue(){
    int x;
    if(IsEmpty()){
        return;
    }else if(front==rear){
        x=A[rear];
        front=-1;
        rear=-1;
        printf("%d\n",x);
    }else{
        x=A[front];
        front=(front+1)%MAX;
        printf("%d\n",x);
    }
}

int main(){
    EnQueue(2);
    EnQueue(5);
    EnQueue(9);
    EnQueue(7);
    DeQueue();
    DeQueue();
    return 0;
}

用链表实现队列

待编辑

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇