数据结构论坛

首页 » 分类 » 分类 » 数据结构干货顺序表的基本操作pytho
TUhjnbcbe - 2024/10/11 16:15:00

#Python知识分享#

顺序表的基本操作——查找操作

一、按位查找

按位查找操作:就是根据位置提示,找到所需要的第i个位置的元素的值。

静态方式:

#defineMaxSize8//定义出最大的长度,此处表示小鸭子的总数

typedefstruct{

intdata[MaxSize];//采用静态数组的方式来存放数据元素

intlength;//定义顺序表当前的长度

}Sqlist;//定义顺序表的类型

intGetElem(SqListL,inti)

{returnL.data[i-1];}

超实用性的Python零基础入门到进阶视频源码淘宝¥2购买已下架

该方式位静态存储方式,依据数组定义可知,数组的下标是从0开始计数,而我们所说的位置是从1开始计数,所以已知位置数,在寻找该位置处的数据元素数值时,需要在数组下标基础上-1。

在获取相应位置的元素时,还可以判断一下该处的下标值是否合法,即在所处数据范围内。

动态方式:

#defineinitSize8//定义出最大的长度,此处表示小鸭子的总数

typedefstruct{int*data;//采用动态指针的方式来存放数据元素

intmaxSize;//定义出顺序表的最大容量

intlength;//定义顺序表当前的长度

}Sqlist;//定义出顺序表的类型

此处data是用malloc函数申请而来的空间存储。

intGetElem(SqListL,intj)

{returnL.data[j-1];}

时间复杂度为O(1)

二、按值查找

按值查找操作:表示在顺序表表中,查找出给定的关键字的元素。

intlocateElem(SeqListL,inte)

{inti;//采用i为数组的下标

for(i=0;iL.length;i++)

if(L.data==e)//当查找到的元素值与所需要的元素值相同的时候,位序值+1。因为数组下标相比于位序而言,是从0开始计数的。

returni+1;

return0;//退出循环,表示查找失败,该顺序表中无该数据元素。}

小提示:在c语言中,在对比结构体时,不能直接对比,需要对结构体中的分量分别进行对比。

时间复杂度:

1
查看完整版本: 数据结构干货顺序表的基本操作pytho