3.c

来自「编程用一维数组模拟一个队列」· C语言 代码 · 共 70 行

C
70
字号
#include<stdio.h>
#include<stdlib.h>
#define N 10
typedef struct node
{
	int data;
	struct node *link;
}NODE;
NODE *ldcr(NODE *rear,NODE *front,int x)     
{
	NODE *P;
	P=(NODE *)malloc(sizeof(NODE));
	P->data=x;
	P->link=NULL;
    if(front==NULL)
	{
		front=P;
		rear=P->link ;
	}
	else
	{
		rear->link=P;
		rear=P;
	}
	return rear;
}
int ldsc(NODE *front ,NODE *rear)   
{
	NODE *s;
	int x;
	if(front==rear)   
		return(-1);
	s=front->link;
	front->link=s->link;    
	if(s->link==NULL)     
		rear=front;
	x=s->data;
	free(s);
	return x;
}
main()
{
	int t,a[N],i;
	NODE* front=NULL;
    NODE* rear=NULL;
	NODE* temp;
	NODE p;
	p.link=NULL;
    printf("请输入一维数组\n");
    front=rear=&p;
	for(i=0;i<N;i++)
	scanf("%d",&a[i]);
    printf("入队\n");
	for(i=0;i<N;i++)
	{
	rear=ldcr(rear,front,a[i]);
	printf("%d\n",*rear);
	}
	printf("出队\n");
	for(i=0;i<N;i++)
	{
	t=ldsc(front,rear);
	printf("%d\n",t);
	}
}
	



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?