用c语言计一个单链表,要求编程实现如下任务: (D)建立一个单链表。 (2)使其可以输入0 1 2 3 4
时间: 2024-11-09 10:17:38 浏览: 11
在C语言中,我们可以使用结构体和指针来创建一个单链表并实现输入元素的功能。下面是一个简单的示例,我们将创建一个`ListNode`结构体表示链表节点,并提供两个函数:`createList()`用于构建链表,`inputElements()`用于读取用户输入并插入链表。
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
typedef struct ListNode {
int data;
struct ListNode* next;
} ListNode;
// 创建新节点并插入到链表末尾
ListNode* createNode(int value) {
ListNode* newNode = (ListNode*)malloc(sizeof(ListNode));
newNode->data = value;
newNode->next = NULL;
return newNode;
}
// 建立一个单链表
void createList() {
ListNode* head = NULL;
printf("请输入元素(输入0结束):\n");
while (1) {
int input;
scanf("%d", &input);
if (input == 0)
break;
ListNode* newNode = createNode(input);
if (head == NULL)
head = newNode; // 如果链表为空,直接将新节点设为头结点
else
newNode->next = head->next; // 否则添加到现有链尾
head->next = newNode;
}
printf("链表已创建完成。\n");
}
int main() {
createList();
return 0;
}
```
在这个例子中,当你运行程序并按照提示输入数字0时,会停止接收输入,并打印出创建的链表。你可以通过查看链表的`data`值来检查是否包含你输入的元素。
阅读全文