线性表之顺序表

文章目录

  • 主要内容
  • 一.顺序表
      • 1.插入操作:
          • 代码如下(示例):
      • 2.删除操作:
          • 代码如下(示例):
      • 3.按值查找:
          • 代码如下(示例):
  • 总结

主要内容

  1. 顺序表
    预备知识
    定义:

线性表是一种数据结构,它由n个具有相同特性的数据元素组成的有限序列。线性表中的数据元素之间存在一对一的关系,即除了第一个元素外,每个元素都有且仅有一个直接前驱元素,除了最后一个元素外,每个元素都有且仅有一个直接后继元素。

线性表的基本操作包括:

  1. 创建线性表 InitList(&L):初始化一个空的线性表。
  2. 销毁线性表 DestroyList(&L):释放线性表所占用的内存空间。
  3. 清空线性表:将线性表中的所有元素清空,使其为空表。
  4. 判断线性表是否为空 Empty(L):判断线性表中是否有元素。
  5. 获取线性表长度 Length(L):获取线性表中元素的个数。
  6. 获取指定位置的元素 GetElem(L,i):获取线性表中指定位置的元素值。
  7. 插入元素 ListInsert(&L,i,e):在指定位置插入一个新的元素。
  8. 删除元素 LiistDelete(&L,i,&e):删除线性表中指定位置的元素。
  9. 查找元素LocateElem(L,e):查找线性表中是否存在指定的元素,并返回其位置。
  10. 修改元素:修改线性表中指定位置的元素值。

一.顺序表

顺序表是一种线性表,用一组地址连续的存储单元依次存储线性表中的元素。

顺序表是一种线性表的存储结构,它的基本操作包括插入操作、删除操作和按值查找。

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

你可能感兴趣的:(算法与数据结构,c语言,python,算法,数据结构,运维)