C语言中基本的尾插法建立单链表
时间: 2023-08-30 12:07:17 浏览: 53
好的,下面是C语言中基本的尾插法建立单链表的代码:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node* next;
} Node;
Node* createList() {
Node* head = NULL;
Node* tail = NULL;
int val;
printf("请输入节点的值(以-1结束):");
scanf("%d", &val);
while (val != -1) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = val;
newNode->next = NULL;
if (head == NULL) {
head = newNode;
tail = newNode;
} else {
tail->next = newNode;
tail = newNode;
}
printf("请输入节点的值(以-1结束):");
scanf("%d", &val);
}
return head;
}
int main() {
Node* head = createList();
printf("链表的值为:");
Node* p = head;
while (p) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
return 0;
}
```
在这个程序中,我们定义了一个名为 `Node` 的结构体,它包含两个成员:`data` 和 `next`,分别用来存储节点的值和指向下一个节点的指针。然后我们使用 `createList()` 函数来创建单链表,它会通过循环读入用户输入的节点值,然后创建一个新节点并将其插入到链表的尾部。当输入 -1 时,循环结束,函数返回链表的头指针 `head`。最后我们遍历链表并打印每个节点的值。
希望这个代码能够对你有所帮助!如果你有进一步的问题或需求,请随时提出。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)