顺序表基本运算的实现(第二章:线性表)

本文详细介绍了顺序表的基本运算,包括初始化、销毁、判断空表、获取长度、输出表、查找元素、插入元素和删除元素。这些运算的时间复杂度从O(1)到O(n)不等,具体取决于操作类型和位置。
摘要由CSDN通过智能技术生成

顺序表基本运算的实现

基本运算—初始化线性表InitList(L)

① 需求

  • 构造一个空的线性表L

② 方法

  • 分配空间,并将length成员设置为0

③ 算法

void InitList(SqList *&L) //指针的引用
{
   
 L=(SqList *)malloc(sizeof(SqList));
 L->length=0;
}

SqList的结构体

#define MaxSize 50
typedef struct
{
   
 ElemType data[MaxSize];
 int length;
} SqList;

④ 时间复杂度

  • O(1);

基本运算-销毁线性表DestroyList(L)

①需求

  • 释放线性表L占用的内存空间

② 方法

  • 调用free函数

③ 算法

void DestroyList(SqList *&L)
{
   
 free(L);
}

④时间复杂度

  • O(1)

基本运算-判定是否为空表ListEmpty(L)

① 需求

  • 该运算返回一个值表示L是否为空表。若
    L为空表,则返回true,否则返回false

② 算法

bool ListEmpty(SqList *L)
{
   
 return(L->length
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值