主题:链队列问题
大家看看错在哪拉 具体原因是什么啊
#include<iostream.h>
typedef struct node
{
char data;
struct node *next;
}QNnode;
typedef struct
{
QNnode *front,*rear;
}LQueue;
int Init_LQueue(LQueue *q)
{
if(((q->front)=new(QNnode))==NULL)
return 0;
q->rear=q->front;
q->front->next=NULL;
return 1;
}
int In_LQueue(LQueue *q,char x)
{
QNnode *p;
if((p=new(QNnode))==NULL) return 0;
p->data=x;p->next=NULL;
q->rear->next=p;
q->rear=p;
return 1;
}
int Empty_LQueue(LQueue *q)
{
if(q->front==q->rear)return 0;
else return 1;
}
int Out_LQueue(LQueue *q,char *x)
{
QNnode *p;
if(Empty_LQueue(q))
{
cout<<"it is empty"<<endl;
return 0;
}
else
{
p=q->front->next;
q->front->next=p->next;
*x=p->data;
delete p;
if(q->front->next==NULL)
q->rear=q->front;
return 1;
}
}
void print(LQueue *q)
{
QNnode *p;
p=q->front->next;
while(p!=q->rear)
{
cout<<p->data;
p=p->next;
}
}
void main()
{
LQueue *q;
char x;
Init_LQueue(q);
for(int i=0;i<10;i++)
{
cin>>x;
In_LQueue(q,x);
}
print(q);
}
#include<iostream.h>
typedef struct node
{
char data;
struct node *next;
}QNnode;
typedef struct
{
QNnode *front,*rear;
}LQueue;
int Init_LQueue(LQueue *q)
{
if(((q->front)=new(QNnode))==NULL)
return 0;
q->rear=q->front;
q->front->next=NULL;
return 1;
}
int In_LQueue(LQueue *q,char x)
{
QNnode *p;
if((p=new(QNnode))==NULL) return 0;
p->data=x;p->next=NULL;
q->rear->next=p;
q->rear=p;
return 1;
}
int Empty_LQueue(LQueue *q)
{
if(q->front==q->rear)return 0;
else return 1;
}
int Out_LQueue(LQueue *q,char *x)
{
QNnode *p;
if(Empty_LQueue(q))
{
cout<<"it is empty"<<endl;
return 0;
}
else
{
p=q->front->next;
q->front->next=p->next;
*x=p->data;
delete p;
if(q->front->next==NULL)
q->rear=q->front;
return 1;
}
}
void print(LQueue *q)
{
QNnode *p;
p=q->front->next;
while(p!=q->rear)
{
cout<<p->data;
p=p->next;
}
}
void main()
{
LQueue *q;
char x;
Init_LQueue(q);
for(int i=0;i<10;i++)
{
cin>>x;
In_LQueue(q,x);
}
print(q);
}