用C语言创建一个存放整数的单链表,并遍历打印出来,单链表中存放的整数由键盘输入
时间: 2024-10-14 08:17:25 浏览: 15
在C语言中,我们可以使用结构体来表示链表节点,然后通过指针链接它们。下面是一个简单的步骤来创建和遍历这个整数链表:
首先,定义链表节点的结构体:
```c
typedef struct Node {
int data; // 存放整数的数据域
struct Node* next; // 指向下一个节点的指针
} Node;
```
接着,我们创建一个函数来添加元素到链表中:
```c
void addNode(Node** head, int value) {
Node* newNode = (Node*)malloc(sizeof(Node)); // 分配内存
if (newNode != NULL) {
newNode->data = value;
newNode->next = *head; // 将新节点设为头节点
*head = newNode; // 更新头节点
} else {
printf("Memory allocation failed.\n");
}
}
```
为了从用户那里获取输入并插入到链表,我们需要主函数中做如下的事情:
```c
int main() {
Node* head = NULL; // 初始链表为空
int num;
while (1) { // 无限循环直到用户结束输入
printf("Enter an integer or 'q' to quit: ");
scanf("%d", &num);
if (num == 'q') break; // 如果输入'q',退出循环
addNode(&head, num); // 添加元素到链表
}
// 遍历链表并打印节点值
Node* current = head;
while (current != NULL) {
printf("%d -> ", current->data);
current = current->next;
}
return 0;
}
```
在这个程序中,用户可以一直输入整数,直到他们输入 'q' 来停止。程序会依次添加这些整数到链表,并在结束后打印整个链表的内容。
阅读全文