ch2_线性表_链表及其初始化_不含头结点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

#include <stdlib.h>
typedef struct {
int elem;
struct *next;
}link;


link *initLink(){
//先初始化一个首元结点(申请内存地址+赋值)
link *temp=(link*)malloc(sizeof(link));
temp->elem=1;
temp->next=NULL;
//再初始化一个头指针指向首元结点
link *p=temp;
//开始遍历进行链表的初始化
for(int i=2;i<5;i++){
link *a=(link*)malloc(sizeof(link));
a->elem=i;
temp->next=a;//将其连接到首元结点后面
temp=a;//准备迎接下一个结点的到来
}
return p;//返回头结点
}

void display(link *p){
while(p){
printf("%d",p->elem);
p=p->next;
}
printf("n");
}

void main(){
link *p;
p=initLink();
printf("初始化链表元素为:");
display(p);
}