fxlb.c

来自「数据结构的代码」· C语言 代码 · 共 52 行

C
52
字号
#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
	int data;
	struct Node *pri;
}*LinkList;
static int NodeNum=0;
LinkList Creat(void)
{
	LinkList p1,p2,head;
	p1=p2=(LinkList )malloc(sizeof(LinkList));
	printf("输入第1个结点:");
	scanf("%d",&p1->data);
	p1->pri=NULL;
	while(p1->data!=0)
	{
		NodeNum++;
		if(NodeNum==1)
			head=p1;
		else
			p1->pri=p2;	//如果改成p2=p1->pri,则是错误的
		p2=p1;//如果这一行和下一行换个位置,也是错误的
		p1=(LinkList )malloc(sizeof(LinkList));	
		printf("输入第%d个结点:",NodeNum+1);
		scanf("%d",&p1->data);
	}
	head=p2;
	printf("反向链表建立完毕,共有%d个结点\n",NodeNum);
	return head;
}
void Print(LinkList head)
{
	LinkList p1=head;
	printf("链表如下:\n");
	if(head!=NULL)
		do
		{
			printf("%d ",p1->data);
			p1=p1->pri;
		}while(p1!=NULL);
		
}
int main()
{
	LinkList head;
	head=Creat();
	Print(head);
	return 0;
}

⌨️ 快捷键说明

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