線性表 陣列實現 鍊錶實現 C語言

2021-10-19 06:58:08 字數 2377 閱讀 2228

(1)初始化(建立空的順序表)

typedef

int position;

typedef

struct lnode *list;

struct lnode

;list makeempty()

(2)查詢

#define error -1

position find

(elementtype x, list ptrl)

(3)插入

bool insert

(elementtype x, position i, list prtl)

if( i <

1|| i > ptrl->last+2)

for( j = prtl->last; j >= i-

1; j--

) ptrl->data[i-1]

= x;

// 新元素插入

ptrl->last++

;// last仍指向最後元素

return ture;

}

(4) 刪除

bool delete

(position i, list ptrl)

for( j = i; j <= ptrl->last; j++

) ptrl->last--

;// last仍指向最後元素

(1) 求表長

int length ( list ptrl )

return j;

}

(2)查詢a. 按序號查詢

#define error null

typedef

int position

list findkth

(position k, list ptrl)

if( i == k )

return p;

// 找到第k個,返回指標

else

return error;

// 否則返回null

}

b. 按值查詢

list find

(elementtype x, list ptrl)

(3)插入

list insert

(elementtype x, position i, list ptrl)

pre =

findkth

( i-

1, ptrl)

;// 查詢第i-1個結點

if( pre ==

null

)else

}

(4)刪除

list delete

(position i, list ptrl)

else

return

null

;free

(tmp)

;// 釋放被刪除結點

return ptrl;

} pre =

findkth

(i-1

, ptrl)

;// 查詢第i-1個結點

if( pre ==

null

)else

if( pre->next ==

null

)else

}

線性表的陣列實現和鍊錶實現

線性表的順序儲存實現 線性表用陣列來實現 typedef struct polynode polynomial struct polynode typedef struct lnode list struct lnode struct lnode l list ptrl 線性表結構的指標 訪問下標為...

C 實現線性表(鍊錶描述)

本文使用c 實現了乙個線性表 陣列描述 該程式由三個檔案構成,第一部分是標頭檔案,標頭檔案定義了乙個鍊錶的節點的結構體,同時在該結構體的基礎上定義了乙個線性表類,該抽象類中定義了絕大部分線性表的成員函式,其中包括 確定線性表是否為空 確定線性表中資料的數目 新增乙個資料 按乙個給定索引查詢其對應的元...

線性表 陣列實現

include include includeusing namespace std define ms a memset a,0,sizeof a define maxlength 100 線性表陣列實現,定義乙個具有兩個域結構體,陣列下標為0的地方不存放元素,可以使位置i對應整數i 第乙個域是陣...