用C语言编写函数创建一张空的顺序表L,将ajcniydu存储到顺序表中。
时间: 2024-09-22 11:01:29 浏览: 33
在C语言中,你可以通过定义结构体表示顺序表(数组),然后创建一个动态数组函数来创建一个空的顺序表,并添加元素。首先,我们需要定义一个结构体来存储数据,比如`Node`,然后定义一个顺序表结构`List`。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h> // 包含malloc和free库
// 定义顺序表节点结构
typedef struct Node {
char data; // 存储字符
struct Node* next; // 指向下一个节点的指针
} Node;
// 定义顺序表结构
typedef struct List {
Node* head;
int size;
} List;
// 创建空列表
List* createEmptyList() {
List* list = (List*) malloc(sizeof(List));
if (!list) {
printf("Memory allocation failed.\n");
return NULL;
}
list->head = NULL;
list->size = 0;
return list;
}
// 将字符添加到列表尾部
void addToList(List* list, char data) {
Node* newNode = (Node*) malloc(sizeof(Node)); // 分配新节点内存
if (!newNode) {
printf("Memory allocation for new node failed.\n");
return;
}
newNode->data = data;
newNode->next = NULL;
if (list->head == NULL) { // 列表为空,直接设置头结点
list->head = newNode;
} else {
Node* current = list->head;
while (current->next != NULL) {
current = current->next;
}
current->next = newNode;
}
list->size++;
}
int main() {
char ajcniydu[] = {'a', 'j', 'c', 'n', 'i', 'y', 'd', 'u'};
List* myList = createEmptyList();
if (myList) {
for (int i = 0; i < sizeof(ajcniydu); i++) {
addToList(myList, ajcniydu[i]);
}
// 现在我的列表已经包含了 ajcniydu 字符串
}
return 0;
}
```
阅读全文