用C语言尾插法创建一个存放整数的单链表,并遍历打印出来,单链表中存放的整数由键盘输入
时间: 2024-10-14 14:17:25 浏览: 35
在C语言中,我们可以使用结构体定义链表节点,然后通过尾插法添加新元素。首先,我们创建一个链表节点的结构体:
```c
typedef struct ListNode {
int data;
struct ListNode* next;
} ListNode;
```
接下来,编写函数实现尾插法和输入遍历打印链表:
```c
void insertAtTail(ListNode** head, int num) {
if (*head == NULL) { // 如果链表为空,则新建头部节点
*head = (ListNode*)malloc(sizeof(ListNode));
(*head)->data = num;
(*head)->next = NULL;
} else { // 否则,在尾部插入
ListNode* current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = (ListNode*)malloc(sizeof(ListNode));
current->next->data = num;
current->next->next = NULL;
}
}
void printList(ListNode* head) {
ListNode* temp = head;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
printf("\n");
}
```
现在你可以使用这些函数来创建并遍历链表:
```c
int main() {
ListNode* head = NULL; // 初始化链表头指针
// 循环获取用户输入并插入到链表尾部
for (int i = 0; i < 5; i++) { // 示例中获取5个整数,可以根据需要修改
int num;
scanf("%d", &num);
insertAtTail(&head, num);
}
// 打印链表
printf("链表内容:\n");
printList(head);
return 0;
}
```
阅读全文