線性表定義與操作 順序表

2021-09-24 20:16:17 字數 892 閱讀 5650

typedef

int position;

typedef

struct lnode *list;

struct lnode

;

初始化
list makeempty()

查詢
#define error -1

position find

( list l, elementtype x )

插入
bool insert

( list l, elementtype x, position p )

if( p<

0|| p>l->last+1)

for( i=l->last; i>=p; i--

) l->data[i+1]

= l->data[i]

;/* 將位置p及以後的元素順序向後移動 */

l->data[p]

= x;

/* 新元素插入 */

l->last++

;/* last仍指向最後元素 */

return true;

}

刪除
bool delete

( list l, position p )

for( i=p+

1; i<=l->last; i++

) l->data[i-1]

= l->data[i]

;/* 將位置p+1及以後的元素順序向前移動 */

l->last--

;/* last仍指向最後元素 */

return true;

}

線性表的定義與操作 順序表

線性表的定義與操作 順序表 注 無main函式 define error 1 typedef int position typedef struct lnode list struct lnode 初始化 list makeempty 查詢 position find list l,elementt...

線性表型別定義與順序表操作

2 1對於順序儲存的長度為 n的線性表,訪問結點和增加結點的時間複雜度為 1分 o 1 o n o 1 o 1 o n o 1 o n o n 單位 浙江大學 2 2在 n個結點的順序表中,演算法的時間複雜度為o 1 的操作是 2分 訪問第i個結點 1 i n 和求第 i個結點的直接前驅 2 i n...

線性表型別定義與順序表操作

1 1 對於順序儲存的長度為 n的線性表,訪問結點和增加結點的時間複雜度分別對應為o 1 和o n 1分 t 單位 浙江大學 1 2若某線性表最常用的操作是訪問任一指定序號的元素和在最後進行插入和刪除運算,則利用順序表儲存最節省時間。2分 tf 單位 浙江大學 1 3對於順序儲存的長度為 n的線性表...