(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 第乙個域是陣...