数据结构---队列C语言实现
生活随笔
收集整理的這篇文章主要介紹了
数据结构---队列C语言实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#include <stdio.h>
#include <stdlib.h>
//隊列大小
#define SIZE 1024
static int queue[SIZE] = {0};
static int head , tail ;
//0 1
int Is_Empty(void)
{//判斷隊列是否為空,如果頭是尾,就證明為空 return head == tail ;
}
//0 1
int Is_Full(void)
{ //判斷隊列是否已經(jīng)滿了 return (head+1)%SIZE == tail ;
}
//入隊
int enqueue(int value)
{ if(Is_Full()){return 1 ; }queue[head] = value ; head = (head + 1) % SIZE ; return 0 ;
}
//出隊
int dequeue(int *value)
{if(Is_Empty())return 1 ; *value = queue[tail] ; tail = (tail + 1) % SIZE ; return 0 ;
}int main(void)
{int i ;int temp ;int buffer[5] = {1,2,3,4,5};printf("入隊前:\n"); for(i = 0 ; i < 5 ; i++){printf("queue[%d]:%d\n",i,queue[i]); }for(i = 0 ; i < 5 ; i++){enqueue(buffer[i]) ;}printf("入隊后: \n");for(i = 0 ; i < 5 ; i++){printf("queue[%d]:%d\n",i,queue[i]); }printf("出隊后: \n");while(1){if(dequeue(&temp)) break ; printf("%d\n",temp);}getchar();
}
運行結(jié)果:
入隊前:
queue[0]:0
queue[1]:0
queue[2]:0
queue[3]:0
queue[4]:0
入隊后:
queue[0]:1
queue[1]:2
queue[2]:3
queue[3]:4
queue[4]:5
出隊后:
1
2
3
4
5
總結(jié)
以上是生活随笔為你收集整理的数据结构---队列C语言实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx配置之基于域名的虚拟主机
- 下一篇: JAVA作业(6)