一个静态数组实现的简单队列

/******************************************************

一个静态数组实现的简单队列
******************************************************/
#include<stdio.h>
#include<stdlib.h>

#define OK 1
#define ERROR 0
#define MAX_QUEUE_SIZE 100      /*  队列向量大小  */
typedef int ElemType ;
typedef struct queue
{  
    int front;
	int rear;
    ElemType queue_array[MAX_QUEUE_SIZE] ;
	
}SqQueue;
SqQueue Init_Queue()            /*  队列初始化  */
{    
	SqQueue S;
    S.front=S.rear=0;  
	return (S);
}
int push(SqQueue *S,ElemType e)      /*  使数据元素e进队列成为新的队尾  */
{  
    if((*S).rear==MAX_QUEUE_SIZE-1)
    {
		return	ERROR;			      /* 队列满,返回错误标志	 */
    }
    (*S).queue_array[(*S).rear]=e;    /* e成为新的队尾  */
	(*S).rear++ ;                     /*  队尾指针加1  */
    return OK;                        /*  入队成功    */
}
int pop(SqQueue *S,ElemType *e )     /*弹出队首元素*/
{  
    if((*S).front==(*S).rear)
    {
		return ERROR;		          /*  队列空,返回错误标志    */
    }
    *e=(*S).queue_array[(*S).front] ;  
    (*S).front++;  
    return OK;  
}
int main()
{
    int tmp=0,i=0;
	SqQueue S;
	S=Init_Queue();
	for(i=0;i<10;i++)
	{
		push(&S,i);
	}
	for(i=0;i<10;i++)
	{
		pop(&S,&tmp);
		printf("%d\n",tmp);
	}
	return 0;
}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值