将数组输入到链式表中的代码
时间: 2023-05-21 22:05:40 浏览: 52
将数组输入到链式表中的代码:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int val;
struct node* next;
} Node;
Node* createList(int* arr, int n) {
Node* head = NULL;
Node* prev = NULL;
for (int i = 0; i < n; i++) {
Node* node = (Node*)malloc(sizeof(Node));
node->val = arr[i];
node->next = NULL;
if (prev == NULL) {
head = node;
} else {
prev->next = node;
}
prev = node;
}
return head;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(int);
Node* head = createList(arr, n);
printf("The list is:\n");
for (Node* p = head; p != NULL; p = p->next) {
printf("%d ", p->val);
}
return 0;
}
```
该程序先定义了一个节点结构体,结构体中包含了一个值和一个指向下一个节点的指针。然后定义了一个 `createList()` 函数,用于将数组输入到链式表中。函数遍历数组,对于每个元素,创建一个新的节点,并将该节点加入到链式表中。函数返回链式表的头指针。
在主函数中,定义了一个整型数组,并计算出数组的长度。然后调用 `createList()` 函数,将数组转化为链式表。最后,遍历链式表,输出每个节点的值。