#include<stdio.h>
#include<stdlib.h>
typedef struct Node {
int data;
struct Node *next;
} Node,*LinkList; //LinkList 结构体指针类型
LinkList L;
Node *CreateFromHead();
void DisplyNode();
main() {
char c;
L=(LinkList)malloc(sizeof(Node)); //建立头节点
L->next=NULL;
printf("DO you want to appent a new node(Y/N)?");
scanf("%c",&c);
while(c=='Y'||c=='y') {
L=CreateFromHead();
DisplyNode(L);
printf("DO you want to appent a new node(Y/N)?");
fflush(stdin); //清空上一个scanf的缓存
scanf("%c",&c);
}
}
/*函数功能:用头插法建立单链表*/
Node *CreateFromHead() {
Node *s;
int c;
printf("Input node data:"); //输入节点数据
scanf("%d",&c);
s=(Node *)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
return(L);
}
/*函数功能:显示链表中所有节点地节点号和该节点的数据项内容*/
void DisplyNode() {
Node *p=L;
int j=1;
while(p!=NULL) {
printf("%5d%10d\n",j,p->data);
p=p->next;
j++;
}
}
头插法建立单链表
最新推荐文章于 2023-09-06 21:43:06 发布