文章目錄
- 主要內容
- 一.順序表
- 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