資料結構之線性表 線性表的順序儲存(C )

2021-10-05 09:20:29 字數 1545 閱讀 7187

順序儲存的線性表,把線性表的元素按邏輯順序依次順序存放在一組位址連續的儲存單元裡。

#include#include#includeusing namespace std;

const int maxlistsize=100;

typedef int datatype;

class seqlist

//構造乙個空的線性表*/

void clear();

bool isempty();

bool isfull();

datatype getelem(int k)//按索引回線性表中的元素

int locate(datatype e);//返回第乙個與元素e匹配的位序

//datatype getprior(datatype e);//返回元素e的前驅

// datatype getnext(datatype e);//返回元素e的後繼

void insert(datatype e,int i);//在第i個位置插入元素e,

datatype deletebyid(int i);//刪除第i個元素,並返回其值

bool deletebydata(datatype e);//按元素值刪除元素

}; seqlist::seqlist()

void seqlist::create(int n)

size=n;

}void seqlist::print()

//datatype seqlist::getprior(datatype e)

// datatype seqlist::getnext(datatype e)

void seqlist::insert(datatype e,int i)

data[i]=e;} }

datatype seqlist::deletebyid(int i)

else

{size--;

int e=data[i];

for(int j=i;j>n;

sql.create(n);

sql.print();

/* cout

cout>i;

sql.insert(e,i);

cout<

基本操作:比較

最好情況:比較1次(i=0),時間複雜度為o(1)

最壞情況:比較n次(i=n-1),時間複雜度為o(n)

插入演算法的時間複雜度

基本語句:移動元素

最好情況:不移動(i=n),時間複雜度為o(1)

最壞情況:移動 n 個元素(i=0),時間複雜度為o(n)

平均情況:設插入每個資料元素的概率相等,

參考書籍《資料結構與演算法》,考研衝衝衝!!

mysql 線性表 資料結構 線性表之順序線性表

public class sequencelist else stringbuilder sb new stringbuilder for int i 0 i size i int len sb.length public class sequencelisttest public static v...

mysql 線性表 資料結構之線性表

概要 參考 大話資料結構 把常用的基本資料結構梳理一下。線性表定義 線性表 list 零個或多個資料元素的有限序列。若將線性表記為 a 1,cdots,a a i,a cdots,a n 則表中 a 領先於 a i a i 領先於 a 稱 a 是 a i 的直接前驅元素,a 是 a i 的直接後繼元...

資料結構 線性表及線性表順序儲存

寫的一定程度上,要再次提公升的時候,是該好好的看一下資料結構和演算法了。趁著最近有時間,好好的複習一下,今天主要是線性表和線性表的順序儲存。1 線性表是一種最基本 最簡單的的資料結構,是一種線性結構。2 線性表中資料元素之間的關係是一對一,是n個資料元素的有限序列。3 若將線性表記為 a1,ai 1...