数据结构与算法学习笔记一---顺序表的静态存储表示和实现(C语言)

目录

前言

顺序表的表示和实现

1. 顺序表的静态存储过程

1.1 初始化

1.2 销毁

1.3 清空

1.4 获取表长

1.5 获取数据元素

1.6 获取直接前驱

1.7 获取直接后继

1.8 插入

1.9 删除

1.10 遍历

1.11 测试代码


前言

        在数据结构中,顺序表是一种基础的数据存储形式。

        这篇博客主要介绍顺序表的静态分配存储表示,包括其定义、初始化、插入、删除和遍历等操作。

顺序表的表示和实现

1. 顺序表的静态存储过程

顺序表的静态存储使用固定大小的数组来存储数据元素。我们先定义一个静态顺序表:

// 线性表的静态分配顺序存储结构
#define MaxSize 100
typedef int ElementType;
typedef int Status;

typedef struct {
    ElementType data[MaxSize]; // 存储空间基址
    int length;                // 当前长度
} StaticSqList;

1.1 初始化

        初始化时,将表长设置为0。

Status initStaticSqList(StaticSqList *sqList) {
    sqList->length = 0;
    return 1;
}

1.2 销毁

        静态顺序表不需要显式销毁,因为它使用的是固定大小的数组,生命周期由变量作用域决定。

1.3 清空

        清空表时,将表长设置为0。

void clearSqList(StaticSqList *sqList) {
    sqList->length = 0;
}

1.4 获取表长

        获取当前顺序表的长度。

int staticSqListLength(StaticSqList *sqList) {
    return sqList->length;
}

1.5 获取数据元素

        获取指定位置的数据元素。

Status getElementForStaticSqList(StaticSqList *sqList, int pos, ElementType *element) {
    if (pos < 1 || pos > sqList->length)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫柱子哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值