数据结构与算法2(线性表1)

本文详细介绍了线性表的定义,以及使用顺序存储结构(如数组)实现的线性表操作,包括初始化、销毁、判断空表、获取元素、定位元素、插入、删除和遍历等。
摘要由CSDN通过智能技术生成

3d27f80515c340a797b1cf081851ebe9.jpeg

线性表

定义:由n个数据元素组成的有限序列。

其中某个元素的前一个元素称为该元素的直接前驱,后一个元素称为该元素的直接后继。当n=0时称为空表。

 

线性表的操作如何实现取决于线性表如何存储:顺序存储结构和链式存储结构。

用顺序存储结构来定义线性表

可用数组表示,但数组长度不可变,线性表长度可变,固可再加一变量表示线性表的长度属性。

模版

9f149de506ca4a84bcc6fbb85438071e.jpeg

 例子

a1d0e94a0ae542d6a3de4f5327212ca6.jpeg

 

 

线性表的基本操作(顺序存储结构)

1

initlist(&L)

构造一个空的线性表L

2

destorylist(&L)

销毁线性表L

3

ClearList(&L)

将线性表L重置为空表。

4

ListEmpty(L)

若线性表L为空表则返回TURE;否则返回FALSE

5

ListLength(L)

返回线性表L中的数据元素个数

6
GetElem(L,i,&e);
用e返回线性表L中第i个数据元素的值

589f4fcb7cbd407699356ad6632bcb7f.jpeg

 7

LocateElem(L, e, compare())

compare()是数据元素判定函数,返回L中第1个与e满足compare)的数据元素的位序。若这样的数据元素不存在则返回值为0。

07167f7e11274ed297c58999b244cb7a.jpeg

 8

PriorElem(L, cur _e,&pre _e)

若cur_e是L的数据元素,且不是第一个,则用pre_e返回它 的前驱,否则操作失败,pre_e无意义 

9

NextElem(L, cur_e, &next_e)

若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继, 否则操作失 败, next_e无意义。

10

Listlnsert(&L, i, e)

在L的第i个位置之前插入新的数据元素e, L的长度加一。

2c790e56aa1047db8bc041865f8cf045.jpeg

 11

ListDelete(&L, i, &e)

删除L的第i个数据元素,并用e返回其值,L的长度减一。

db31a85a04c7406fb9fff462af6f785c.jpeg

 12

Listraverse(&L, visited())

依次对线性表中每个元素调用visited()

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值