5 1線性表概述

2021-10-08 23:41:23 字數 1279 閱讀 5547

線性表是由n個元素a1,a2…an組成的有限序列。

對於線性表的某個元素ai來說,稱其前面的元素a(i-1)為直接前驅,後面的元素a(i+1)為直接後繼。線性表的每個元素最多有乙個直接前驅和乙個直接後繼,這是線性表的特點。

線性表常用基本運算有6個:

(1)初始化線性表:建立線性表空表`

list()

;//建構函式建立空表

(2)求表的長度:求表中元素的個數

int

length()

const

;//返回線性表當前長度

(3)按序號取元素:取出表中序號為i的元素值,並賦值給引數x

error_code get_element

(const

int i,elementtype &x)

const

;//若存在序號為i的元素,將該元素值賦給引數x,並返回success,否則返回range_error

(4)按值查詢元素:搜尋指定的值x元素的位置

int

locate

(const elementtype x)

const

;//若該元素存在,返回其序號,否則返回-1

(5)插入元素:在指定位置i插入元素x

error_code insert

(const

int i,

const elementtype x)

;//若表滿,不能插入,返回overflow

//若序號不正確,返回range_error

//當表有空位且序號正確(1<=i<=表長度+1),則插入該元素並返回success

(6)刪除元素:刪除序號為i的元素

error_code delete_element

(const

int i)

;//若表為空,不能刪除時返回underflow

//若序號不正確,返回range_error

//當表不為且序號正確(1<=i<=表長度),則刪除該元素並返回success

綜上得到的c++類描述為

class

list

;

線性表有兩種存續方式:順序儲存方式和鍊錶儲存方式

順序儲存方式:

順序表

鍊錶儲存方式:

鍊錶

線性表概述

size x small 線性表是最基本 最簡單 也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。線性表的邏輯結構簡單,便於實現和操作。因此,線性表這種資料結構在實際應用中是廣泛採用的一種資料結構。size 在實際應...

鏈式線性表和順序線性表

在這裡插入 片 線性表的儲存結構 typedef struct seqlist typedef struct seqlist 順序表基本操作 初始化順序表在這裡插入 片 intseqlist init seqlist list,int size 插入資料元素在這裡插入 片 intseqlist in...

線性表演算法題庫 線性表習題

鍊錶。若指標p指向某結點時,能夠根據該指標找到其直接後繼,能夠順後繼指標鏈找到p結點後的結點。但是由於不知道其頭指標,所以無法訪問到p指標指向的結點的直接前趨。因此無法刪去該結點。2.雙鏈表。由於這樣的鍊錶提供雙向指標,根據p結點的前趨指標和後繼指標可以查詢到其直接前趨和直接後繼,從而可以刪除該結點...