求帮忙改错!拜托.....
(1) 建立链队列,并实现元素(4,5,7,6,8)入队,实现链队列的建立,和入队的基本操作;(2) 实现元素(4,5,7,6,8)出队,实现链队列的出队的基本操作
(三)主要仪器设备
计算机,VC++高级程序语言
#include<stdio.h>
#include<malloc.h>
typedef int QItem;
typedef struct qnode*qlink;
typedef struct qnode{QItem element;qlink next;}Qnode;
typedef struct lque*Queue;
typedef struct lque{
qlink front;
qlink rear;
}Lqueue;
Queue Queuelint(Queue Q)
{
Q->front=Q->rear=0;
return Q;
}
qlink NewQNode()
printf("结点分配不成功");
{
qlink p;
if((p=(Qnode*)malloc(sizeof(Qnode)))==0)
return -1;
else
return p;
}
void EnterQueue(QItem x,Queue Q)
{
qlink p;
P=NewQNode();
p->element=x;
p->next=0;
if(Q->front)Q->rear->next=p;
else Q->front=p;
Q->rear=p;
}
int QueueEmpty(Queue Q)
{
return Q->front==0;
}
QItem QueueFirst(Queue Q)
{
if(QueueEmpty(Q))printf("Queue is empty");
return Q->front->element;
}
if(QueueEmpty(Q))printf("Queue is empty");
return Q->rear->element;
}
QItem DeleteQueue(Queue Q)
{
qlink p;QItem x;
if(QueueEmpty(Q))printf("Queue is empty");
x=Q->front->element;
Q->front=Q->front->next;
return x;
}
void main()
int i;
QItem x,m,n;
Lqueue L;
{
Queue Q=&L;
QueueIint(Q);
for(i=0,i<5,i++)
{
scanf("%d",%x);
EnterQueue(x,Q)
}
m=QueueFirst(Q);
n=QueueLast(Q);
printf("队首元素为:%d\n,队尾元素为:%d",m,n);
for(i=0,i<5,i++)
printf("出队元素为:%d\n",DeleteQueue(Q));
}
(1) 建立链队列,并实现元素(4,5,7,6,8)入队,实现链队列的建立,和入队的基本操作;
(2) 实现元素(4,5,7,6,8)出队,实现链队列的出队的基本操作
(三)主要仪器设备
计算机,VC++高级程序语言
#include<stdio.h>
#include<malloc.h>
typedef int QItem;
typedef struct qnode*qlink;
typedef struct qnode{QItem element;qlink next;}Qnode;
typedef struct lque*Queue;
typedef struct lque{
qlink front;
qlink rear;
}Lqueue;
Queue Queuelint(Queue Q)
{
Q->front=Q->rear=0;
return Q;
}
qlink NewQNode()
printf("结点分配不成功");
{
qlink p;
if((p=(Qnode*)malloc(sizeof(Qnode)))==0)
return -1;
else
return p;
}
void EnterQueue(QItem x,Queue Q)
{
qlink p;
P=NewQNode();
p->element=x;
p->next=0;
if(Q->front)Q->rear->next=p;
else Q->front=p;
Q->rear=p;
}
int QueueEmpty(Queue Q)
{
return Q->front==0;
}
QItem QueueFirst(Queue Q)
{
if(QueueEmpty(Q))printf("Queue is empty");
return Q->front->element;
}
if(QueueEmpty(Q))printf("Queue is empty");
return Q->rear->element;
}
QItem DeleteQueue(Queue Q)
{
qlink p;QItem x;
if(QueueEmpty(Q))printf("Queue is empty");
x=Q->front->element;
Q->front=Q->front->next;
return x;
}
void main()
int i;
QItem x,m,n;
Lqueue L;
{
Queue Q=&L;
QueueIint(Q);
for(i=0,i<5,i++)
{
scanf("%d",%x);
EnterQueue(x,Q)
}
m=QueueFirst(Q);
n=QueueLast(Q);
printf("队首元素为:%d\n,队尾元素为:%d",m,n);
for(i=0,i<5,i++)
printf("出队元素为:%d\n",DeleteQueue(Q));
}