C语言如何将数组赋给顺序表
时间: 2024-10-04 13:04:50 浏览: 11
在C语言中,可以使用结构体和指针来模拟顺序表的概念,并通过复制数组的方式来初始化顺序表。这里是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义顺序表结构体
typedef struct Node {
int data; // 数据域
struct Node* next; // 指向下一个节点的指针
} List;
// 功能:将数组转换为顺序表并添加到链表的末尾
void arrayToList(int arr[], int size, List** head) {
if (*head == NULL) { // 如果链表为空
*head = (List*)malloc(sizeof(List)); // 创建首节点
(*head)->data = arr[0]; // 设置数据
(*head)->next = NULL;
} else {
List* temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = (List*)malloc(sizeof(List)); // 添加新节点
temp->next->data = arr[size - 1]; // 设置最后一个元素的数据
temp->next->next = NULL;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
List* listHead = NULL;
arrayToList(arr, size, &listHead);
// 现在你可以遍历这个列表...
return 0;
}