一道C语言数据结构队列代码 调用出队子函数dequeue时不知哪里出错,运行无输出。 20
#include<stdio.h>#include<stdlib.h>#include<string>#include<string.h>#include<iostrea...
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<string.h>
#include<iostream>
#define MAXSIZE 80
using namespace std;
struct sqqueue
{
char date[MAXSIZE];
int front,rear;
}q;
void initqueue(sqqueue *q)
{
q=new(sqqueue);
q->front=q->rear=-1;
}
void destroyqueque(sqqueue *q)
{
free(q);
}
bool queueempty(sqqueue *q)
{
return(q->front==q->rear);
}
bool enqueue(sqqueue *q,char e)
{
if(q->rear==MAXSIZE-1)
return false;
q->rear++;
q->date[q->rear]=e;
return true;
}
bool dequeue(sqqueue *q,char e)
{
if(queueempty(q))
return false;
q->front++;
e=q->date[q->front];
return true;
}
int main()
{ char e,f;
initqueue(&q);
e=getchar();
enqueue(&q,e);
dequeue(&q,f);
cout<<f;
return 0;
} 展开
#include<stdlib.h>
#include<string>
#include<string.h>
#include<iostream>
#define MAXSIZE 80
using namespace std;
struct sqqueue
{
char date[MAXSIZE];
int front,rear;
}q;
void initqueue(sqqueue *q)
{
q=new(sqqueue);
q->front=q->rear=-1;
}
void destroyqueque(sqqueue *q)
{
free(q);
}
bool queueempty(sqqueue *q)
{
return(q->front==q->rear);
}
bool enqueue(sqqueue *q,char e)
{
if(q->rear==MAXSIZE-1)
return false;
q->rear++;
q->date[q->rear]=e;
return true;
}
bool dequeue(sqqueue *q,char e)
{
if(queueempty(q))
return false;
q->front++;
e=q->date[q->front];
return true;
}
int main()
{ char e,f;
initqueue(&q);
e=getchar();
enqueue(&q,e);
dequeue(&q,f);
cout<<f;
return 0;
} 展开
1个回答
2016-10-20
展开全部
bool dequeue(sqqueue *q,char &e)
{
if(queueempty(q))
return false;
q->front++;
e=q->date[q->front];
return true;
}
一个很简单的小问题,dequeue的参数e 应该是引用哦
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询