数据结构创建一个顺序表实现结构体定义和静态初始化和顺序表元素的查找输出顺序表L的全部元素的代码
时间: 2024-10-25 17:12:17 浏览: 8
数据结构c++代码(顺序表的代码,包括静态顺序表和动态顺序表)
5星 · 资源好评率100%
在C语言中,我们可以使用数组数据结构来创建一个简单的顺序表,代表一个结构体类型的动态列表。这里是一个基本的实现示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 结构体定义
typedef struct Node {
int data; // 存储整数值
struct Node* next; // 指向下一个节点的指针
} Node;
// 创建顺序表的静态初始化函数
Node* createList(int n) {
if (n <= 0) return NULL;
Node* list = (Node*)malloc(n * sizeof(Node)); // 分配内存
for (int i = 0; i < n; i++) {
list[i].data = i + 1; // 初始化数据为从1到n
list[i].next = NULL; // 链表未连接,最后一个元素next设为NULL
}
return list;
}
// 查找元素并输出整个列表
void printList(Node* L) {
if (L == NULL) {
printf("顺序表为空.\n");
return;
}
printf("顺序表L的全部元素:\n");
Node* current = L;
while (current != NULL) {
printf("%d ", current->data); // 输出当前节点的数据
current = current->next; // 移动到下一个节点
}
printf("\n");
}
int main() {
int size = 5; // 示例中创建包含5个元素的顺序表
Node* sequenceList = createList(size);
// 打印初始顺序表
printList(sequenceList);
// 这里省略了对元素的查找部分,因为题目没有明确是否需要搜索操作
free(sequenceList); // 释放内存
return 0;
}
```
在这个例子中,我们首先定义了一个`Node`结构体,然后创建了一个静态初始化函数`createList`用于生成指定长度的顺序表。`printList`函数遍历并打印顺序表的所有元素。`main`函数展示了如何使用这两个函数。
阅读全文