用C完整的创建一个顺序表和一个链表
时间: 2024-09-09 14:15:56 浏览: 37
在C语言中,我们可以分别使用数组(数组表示顺序表)和链接节点(链表节点表示链表)的方式来创建顺序表和链表。
**创建顺序表(数组):**
```c
#include <stdio.h>
#define MAX_SIZE 10 // 定义序列最大长度
typedef struct {
int data[MAX_SIZE]; // 数据部分
int size; // 当前元素个数
} SequenceList;
SequenceList create_sequence_list() {
SequenceList list;
list.size = 0; // 初始为空
return list;
}
void insert_sequence_list(SequenceList* list, int value) {
if (list->size < MAX_SIZE) {
list->data[list->size++] = value;
} else {
printf("列表已满,无法插入更多元素。\n");
}
}
// 其他用于遍历、查找等的操作...
```
**创建单向链表(链表):**
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node* next;
} Node;
Node* create_linked_list() {
Node* head = NULL; // 链表头指针初始化为NULL
return head;
}
void insert_linked_list(Node** head, int value) {
Node* newNode = (Node*)malloc(sizeof(Node)); // 动态分配内存
if (newNode != NULL) {
newNode->data = value;
newNode->next = *head;
*head = newNode;
} else {
printf("内存分配失败。\n");
}
}
// 其他用于遍历、删除等的操作...
```
这两个例子只展示了基础的创建和插入操作,实际项目中还需要处理更多的细节,比如错误检查、释放内存等。