文章目录
- 主要内容
- 一.顺序表
- 1.插入操作:
- 代码如下(示例):
- 2.删除操作:
- 代码如下(示例):
- 3.按值查找:
- 代码如下(示例):
- 总结
主要内容
- 顺序表
预备知识
定义:
线性表是一种数据结构,它由n个具有相同特性的数据元素组成的有限序列。线性表中的数据元素之间存在一对一的关系,即除了第一个元素外,每个元素都有且仅有一个直接前驱元素,除了最后一个元素外,每个元素都有且仅有一个直接后继元素。
线性表的基本操作包括:
- 创建线性表 InitList(&L):初始化一个空的线性表。
- 销毁线性表 DestroyList(&L):释放线性表所占用的内存空间。
- 清空线性表:将线性表中的所有元素清空,使其为空表。
- 判断线性表是否为空 Empty(L):判断线性表中是否有元素。
- 获取线性表长度 Length(L):获取线性表中元素的个数。
- 获取指定位置的元素 GetElem(L,i):获取线性表中指定位置的元素值。
- 插入元素 ListInsert(&L,i,e):在指定位置插入一个新的元素。
- 删除元素 LiistDelete(&L,i,&e):删除线性表中指定位置的元素。
- 查找元素LocateElem(L,e):查找线性表中是否存在指定的元素,并返回其位置。
- 修改元素:修改线性表中指定位置的元素值。
一.顺序表
顺序表是一种线性表,用一组地址连续的存储单元依次存储线性表中的元素。
顺序表是一种线性表的存储结构,它的基本操作包括插入操作、删除操作和按值查找。
1.插入操作:
代码如下(示例):
C语言实现:
void insert(int *arr, int *len, int index, int value) {if(index < 0 || index > *len) {printf("插入位置不合法\n");return;}for(int i = *len - 1; i >= index; i--) {arr[i+1] = arr[i];}arr[index] = value;(*len)++;
}
Python实现:
def insert(arr, index, value):arr.insert(index, value)
2.删除操作:
代码如下(示例):
C语言实现:
void delete(int *arr, int *len, int index) {if(index < 0 || index >= *len) {printf("删除位置不合法\n");return;}for(int i = index; i < *len - 1; i++) {arr[i] = arr[i+1];}(*len)--;
}
Python实现:
def delete(arr, index):arr.pop(index)
3.按值查找:
代码如下(示例):
C语言实现:
int search(int *arr, int len, int value) {for(int i = 0; i < len; i++) {if(arr[i] == value) {return i;}}return -1;
}
Python实现:
def search(arr, value):return arr.index(value)
以上是顺序表的基本操作,分别用C语言和Python实现了插入操作、删除操作和按值查找。
总结
以上是今天要讲内容,学到了顺序表的相关操作。
线性表–顺序表-1