線性表是由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結點的前趨指標和後繼指標可以查詢到其直接前趨和直接後繼,從而可以刪除該結點...