怎么建立一个多级链表,c语言

Python038

怎么建立一个多级链表,c语言,第1张

你可以建立一个链表节点的数据结构

typedef struct Node {

   int data

   struct Node* ptr

} Node

然后在一个一个添加。你只需要记录好头节点。

Node *head = NULL

我们插入第一个节点

Node *newnode= (Node*)malloc(sizeof(Node))

newnode->data = 1

newnode->ptr = NULL

把这个节点加入到head或者其他节点下面

head = newnode

双层链表是什么?数组链表还是双链表,如果是后者,使用尾查发的时候多一行代码就OK,就是指向前面一个节点。

1 #include<stdio.h>

2 #include<malloc.h>

3 struct nodeone

4 {

5 int data

6 struct nodeone *next

7 struct nodeone *down

8 }

9

10 struct nodetwo

11 {

12 int data

13 struct nodetwo *two

14 }

15 void main()

16 {

17 int i = 0, j = 0

18 struct nodeone *head, *p1, *p2, *p3

19 p2 = head = (struct nodeone*)malloc(sizeof(struct nodeone))

20 while(i <10)

21 {

22 p1 = (struct nodeone*)malloc(sizeof(struct nodeone))

23 p1->down = NULL

24 while(j <5)

25 {

26 p3 = (struct nodetwo*)malloc(sizeof(struct nodetwo))

27 p3->next = p1->down

28 p1->down = p3

j++

29 }

30 p2->next = p1

31 p2 = p1

i++ //忘记了这两个计数变量,i和j。

32 }

33 p2->next = NULL

34 }

~

理论上是对的,Linux下编译通过。外层使用尾插,内层使用头插,主要是为了减少一个变量。

我以前没有听过双层链表,不过记住这些名字还是有点用处。