关于C++每次入队4个元素,出队2个元素,打印链式队列,打印当前链式队列的队首元素和队尾元素; 10

#include<stdio.h>#include<stdlib.h>typedefstructNode{intdata;structNode*next;}LinkQue... #include <stdio.h>#include <stdlib.h>

typedef struct Node { int data; struct Node *next;}LinkQueueNode;

typedef struct{ LinkQueueNode *front; LinkQueueNode *rear;}LinkQueue;

void Init(LinkQueue*Q) /*初始化*/
{ Q->front=Q->rear=(LinkQueueNode *)malloc(sizeof(LinkQueueNode));
Q->front->next=NULL;

}
int EmptyQuene(LinkQueue *Q) /*判断队列是否为空*/
{
if(Q->front==Q->rear)
return 1;
else
return 0;}

void creatlist(LinkQueue*Q) /*创键队列*/
{ int i,num,j;
LinkQueueNode *p;
printf("输入队列长度:\n");
scanf("%d",&num);
for(i=1;i<=num;i++)
{
p=(LinkQueueNode*)malloc(sizeof(LinkQueueNode));
printf("please %d send the number\n",i);
scanf("%d",&(p->data));
if(i==1)
{
Q->front=p;
p->next=NULL;
}
Q->rear=p;
}
Q->rear->next=NULL;

}

int EnterQueue(LinkQueue *Q,int x)
/*增加节点*/
{
LinkQueueNode *NewNode;
NewNode=(LinkQueueNode*)malloc(sizeof(LinkQueueNode));
if(NewNode!=NULL)
{
NewNode->data=x;
NewNode->next=NULL;
Q->rear->next=NewNode;
Q->rear=NewNode;
return 1;
}
else
return 0;}
void DeleteQueue(LinkQueue *Q)

/*删除节点*/{
int data;
LinkQueueNode *p;
if(Q->front==Q->rear)
{
printf("null");
} else
{ p=Q->front;
Q->front=Q->front->next;
free(p);
}
}
void PrintNode(LinkQueue *Q)
/*打印节点*/{
LinkQueueNode *p; p=Q->front;
while(p!=NULL) {
printf("%d\n",p->data); p=p->next; }
}

void print_head_end(LinkQueue* Q) /*打印头尾节点*/
{
printf("队首元素:%d\n",Q->front->data);
printf("队尾元素: %d\n",Q->rear->data);

}
void clearQueue(LinkQueue* Q)
{
struct LinkQueueNode *p = Q->front;
while(p != NULL)
{ Q->front = Q->front->next;
p = Q->front;
free(p);
}
Q->rear = NULL;
return;}
void main()
{
LinkQueue *Q=(LinkQueue*)malloc(sizeof(LinkQueue));
int empty;
int i ;
int j;
int k;
Init(Q);
empty=EmptyQuene(Q);
creatlist(Q);
empty=EmptyQuene(Q);
print_head_end(Q);
clearQueue(Q);
Init(Q);
for(i =1;i<=3;i ++)
{
for(j=1;j<=4;j++)
{
EnterQueue(Q,j);
}
for(j=1;j<=2;j++)
{
DeleteQueue(Q);
}
PrintNode(Q);
print_head_end(Q);
printf("第%d遍 \n",i); }
scanf("%d",&k) ;
return;}

我想实现每次入队4个元素,出队2个元素,打印链式队列,打印当前链式队列的队首元素和队尾元素; 但只出列了1个元素 怎么搞才能出列2个元素
展开
 我来答
goudezong
2012-05-31 · TA获得超过142个赞
知道答主
回答量:23
采纳率:0%
帮助的人:9.1万
展开全部
out两次?
追问
嗯、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式