C语言数据结构代码:线性表L1的元素为整型数据{2,4,6,8},将该线性表的元素一次按照链式存储方式存储
时间: 2023-06-02 07:07:59 浏览: 108
以下是C语言数据结构代码,将线性表L1的元素存储为链式存储方式:
```c
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
// 定义结点类型及结构体
typedef struct LNode {
int data;
struct LNode *next;
} LNode, *LinkList;
// 初始化线性表
bool InitList(LinkList *L) {
*L = (LinkList) malloc(sizeof(LNode));
if (!(*L))
return false;
(*L)->next = NULL; // 头结点的指针域置空
return true;
}
// 头插法创建链表
void CreateList(LinkList *L, int a[], int n) {
(*L) = (LinkList) malloc(sizeof(LNode));
(*L)->next = NULL;
int i;
LNode *p;
for (i = n - 1; i >= 0; --i) {
p = (LNode *) malloc(sizeof(LNode));
p->data = a[i];
p->next = (*L)->next;
(*L)->next = p;
}
}
// 遍历链表
void TraverseList(LinkList L) {
LNode *p = L->next;
while (p) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
int main() {
int a[] = {2, 4, 6, 8};
int n = sizeof(a) / sizeof(int);
// 初始化线性表
LinkList L;
if (!InitList(&L)) {
printf("初始化失败!");
return 0;
}
// 头插法创建链表
CreateList(&L, a, n);
// 遍历链表
TraverseList(L);
return 0;
}
```
阅读全文