1、题目:
2、代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct qnode *qlink;
struct qnode
{
int element;
qlink next;
} Qnode;
typedef struct lque *Queue;
typedef struct lque
{
qlink front;
qlink rear;
} Lqueue;
int QueueEmpty(Queue Q)
{
return Q->front==0;
}
void EnterQueue(Queue Q,int x)
{
qlink p;
p=(qlink)malloc(sizeof(Qnode));
p->element=x;
p->next=0;
if(Q->front)
{
Q->rear->next=p;
}
else
{
Q->front=p;
}
Q->rear=p;
}
int DeleteQueue(Queue Q,int k)
{
qlink p;
int x;
if(Q->front==Q->rear)
{
printf("%d",Q->front->element);
}
else
{
x=Q->front->element;
if(k==1)
{
printf("%d",x);
}
p=Q->front;
Q->front=Q->front->next;
free(p);
}
return x;
}
int main()
{
Queue Q=(Queue)malloc(sizeof*Q);
Q->front=0;
Q->rear=0;
int n;
scanf("%d",&n);
int i;
for(i=0; i<n; i++)
{
EnterQueue(Q,i+1);
}
int m=0;
for(i=0; i<n; i++)
{
DeleteQueue(Q,1);
if(m==n-2)
{
printf("\n");
}
else if(m!=n-1)
{
printf(" ");
}
m++;
EnterQueue(Q,Q->front->element);
DeleteQueue(Q,2);
}
return 0;
}