将数组输入到链式表中的代码
时间: 2023-05-21 12:05:29 浏览: 92
以下是将数组输入到链表中的完整代码:
```c
#include <stdio.h>
#include <stdlib.h>
/* 定义链表结构体 */
struct Node {
int data;
struct Node *next;
};
/* 创建链表的函数 */
struct Node* arrayToList(int arr[], int size) {
struct Node *head = NULL, *tail = NULL;
/* 遍历数组,将每个元素加入链表 */
for (int i = 0; i < size; i++) {
struct Node *node = (struct Node*) malloc(sizeof(struct Node));
node->data = arr[i];
node->next = NULL;
if (tail == NULL) {
head = node;
tail = node;
} else {
tail->next = node;
tail = node;
}
}
return head;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
/* 调用函数创建链表 */
struct Node *head = arrayToList(arr, size);
/* 输出链表中的元素 */
struct Node *p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
return 0;
}
```
以上代码使用了一个 `arrayToList` 函数来将数组中的元素添加到链表中,该函数接收一个整数数组和数组的大小作为参数,并返回链表的头部节点。函数内部使用了一个循环来遍历数组,并将每个元素添加到链表的末尾。
在 `main` 函数中,我们可以调用 `arrayToList` 函数来创建一个包含一些整数的链表,并使用一个循环打印链表中的元素。
阅读全文