Chinaunix首页 | 论坛 | 博客
  • 博客访问: 596797
  • 博文数量: 119
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1583
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 09:18
文章分类

全部博文(119)

文章存档

2011年(3)

2010年(21)

2009年(44)

2008年(51)

我的朋友

分类: C/C++

2008-10-23 16:15:57

#include
using namespace std;
#define NULL 0  
#define MAXSIZE 100  
typedef int Elemtype;  
typedef struct
{ Elemtype *base;  
int front ;  
int rear;  
}SqQueue;  

void InitQueue(SqQueue *&Q)  
{  
Q=(SqQueue *)malloc(sizeof(SqQueue));
Q->base=(Elemtype *)malloc( MAXSIZE *sizeof(Elemtype));  
if(!Q->base)
{ printf("The InitQueue is fail!");  
return;  
}  
Q->front=Q->rear=0;  
}  

void EnQueue(SqQueue *Q,Elemtype e)  
{  
if( (Q->rear+1)%MAXSIZE==Q->front )
{ printf("\nThe EnQueue is fail!");  
return;  
}  
Q->base[Q->rear]=e;  
Q->rear=(Q->rear+1)%MAXSIZE;  
}  

void DeQueue(SqQueue *Q,Elemtype *e)  
{  
if(Q->rear==Q->front)
{
printf("\nThe DeQueue is fail,the Queue is empty!");  
return;  
}  
*e=Q->base[Q->front];  
Q->front=(Q->front+1)%MAXSIZE;  
}  

int main()  
{ SqQueue *que;  
Elemtype num,s;  
que=NULL;  
InitQueue(que);  
scanf("%d",&num);  
while(num!=-1)  
{  
EnQueue(que,num);  
scanf("%d",&num);  
}  
cin.get();
printf("\nThe result of DeQueue is :\n");  
while (que->front!=que->rear)  
{
DeQueue(que,&s);
cout<getchar();  
}  
return 0;
}
 
 
阅读(1264) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~