線性表的本質和相關操作

2021-06-22 09:43:38 字數 1261 閱讀 6239

線性表是最簡單、最基本、最常用的一種線性結構。它包括兩種儲存方式:順序儲存方式和鏈式儲存方式。

一、線性表的定義

* 線性表是零個或多個資料元素的集合

* 線性表中資料元素之間是有順序的

* 線性表中的資料元素個數是有限的

* 線性表中資料元素的型別必須相同

> 定義:線性表是具有相同型別的 n (>=0)個資料元素的有限序列

(a0, a1, a2 ..., an)  ai表示項,n表示長度

二、線性表的性質

> 性質

* a0為線性表的第乙個元素,只有乙個後繼

* an為線性表的最後乙個元素,只有乙個前驅

* 除a0和an外的其它元素ai,既有前驅又有後繼

* 線性表能夠逐項訪問和順序訪問

一、線性表操作的實現

* 線性表在程式中表現為一種特殊的資料型別

* 線性表的操作在程式中的表現為一組函式

如下例項:

list.h

#ifndef _eg_2_1_h_

#define _eg_2_1_h_

typedef void list;

typedef void listnode;

// 該方法用於建立並且返回乙個空的線性表

list* list_create();

// 該方法用於銷毀乙個線性表list

void list_destroy(list* list);

// 該方法用於將乙個線性表list中的所有元素清空,使得線性表回到建立使的初始狀》    態

void list_clear(list* list);

// 該方法用於返回乙個線性表list中的所有元素個數

int list_length(list* list);

// 該方法用於向乙個線性表list的pos位置處插入

// 新元素 node,返回1表示插入成功,0表示插入失敗

int list_insert(list* list, listnode* node, int pos);

// 該方法用於獲取乙個線性表list的pos位置處的元素返回值為pos位置處的元素,nul    l表示獲取失敗

listnode* list_get(list* list, int pos);

// 該方法用於刪除乙個線性表list的pos位置處的元素返回值為被刪除的元素,null表示刪除失敗

listnode* list_delete(list* list, int pos);

#endif

一 線性表的本質和操作

1 線性表 線性表 list 的表現形式 線性表的抽象定義 線性表是具有相同型別的 n geq0 個資料元素的有限序列 a 0,a 1,a a i 是表項 資料元素 n 是表長度 2 線性表的性質線性表的常用操作 線性表在程式中的表現形式為一種特殊的資料型別 建立乙個線性表抽象類模板 templat...

線性表的相關操作

順序表的建立 status initlist sqlist l 順序表的銷毀 status destroylist sqlist l 順序表的清空 status clearlist sqlist l 判斷順序表是否為空 status listempty sqlist l 順序表的元素個數 int l...

線性表及其相關操作

一 定義 線性表是最基本 最簡單 也是最常用的一種資料結構。線性表 linear list 是資料結構的一種,乙個線性表是n個具有相同特性的資料元素的有限序列。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的 注意,這句話只適用大部分線性表,而...