📄 fxlb.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -