c语言分别用头插法和尾插法建立并输出一个由静态分配结点构成的长度为5的单链表
时间: 2023-12-06 12:44:26 浏览: 83
以下是使用头插法和尾插法分别建立并输出一个由静态分配结点构成的长度为5的单链表的示例代码:
```c
#include <stdio.h>
struct Node {
int data;
struct Node* next;
};
int main() {
struct Node nodes[5];
// 初始化节点的数据域和指针域
for (int i = 0; i < 5; i++) {
nodes[i].data = i + 1;
nodes[i].next = NULL;
}
// 头插法建立单链表
struct Node* head1 = NULL;
for (int i = 0; i < 5; i++) {
nodes[i].next = head1;
head1 = &nodes[i];
}
// 输出单链表
printf("使用头插法建立的单链表:\n");
struct Node* p1 = head1;
while (p1 != NULL) {
printf("%d ", p1->data);
p1 = p1->next;
}
printf("\n");
// 尾插法建立单链表
struct Node* head2 = NULL;
struct Node* tail2 = NULL;
for (int i = 0; i < 5; i++) {
if (head2 == NULL) {
head2 = &nodes[i];
tail2 = &nodes[i];
} else {
tail2->next = &nodes[i];
tail2 = &nodes[i];
}
}
// 输出单链表
printf("使用尾插法建立的单链表:\n");
struct Node* p2 = head2;
while (p2 != NULL) {
printf("%d ", p2->data);
p2 = p2->next;
}
printf("\n");
return 0;
}
```
输出结果为:
```
使用头插法建立的单链表:
5 4 3 2 1
使用尾插法建立的单链表:
1 2 3 4 5
```
阅读全文