線性表基本操作有:
(1)list makeempty():初始化乙個新的線性表
(2)elementtype findkth(list l,int i):根據指定的位序i,返回l中相應元素ai(i是下標)
(3)position find(list l,elementtype x):已知x,返回線性表l中與x相同的第乙個元素位置;若不存在則返回則返回錯誤資訊;
(4)bool insert(list l,elementtype x,int i):在l的制定位序i前插入乙個元素x;成功則返回true,否則返回false
(5)bool delete(list l,int i):從l中刪除制定序列i;成功返回ture,否則返回false
(6)int length(list l):返回線性表l的長度
typedef int position;
typedef struct lnode * ptrtolnode;
struct lnode
;typedef ptrtolnode list;
初始化表
list makeempty()
查詢
#define error -1
position find(list l,elementtype x)
if (i > l->last)
else
return i;
}
插入(在l的指定位序i前插入乙個新元素x;位序i元素的陣列位置下標是i-1)
bool insert(list l,elementtype x,int i)
if (i<1 || i> l->last+2)
for (j=l->last; j>=i-1; j--)
l->data[i-1]=x;
l->last++;
retuen true;
}
刪除(從l中刪除制定位序i的元素,該元素下標為i-1)
bool delete(list l,int i)
for (j=i; j<=l-last;j++ )
l->last--;
return true;
}
typedef struct lnode * ptrtolnode;
struct lnode
;typedef ptrtolnode position;/*這裡的位置是結點的位址*/
typedef ptrtolnode list;
求表長
int length(list l)
return count;
}
查詢:
按序號查詢
#define error -1
elementtype findkth(list l,int k)
if ((count==k)&&p)
else
return error;
}
按值查詢
#define error null
position find(list l,elementtype x)
if (p)
else
return error;
}
插入
list insert(list l,elementtype x,int i)else
if (pre==null||count!=i-1)
else
}}
帶頭結點的鏈式
bool insert(list l,elementtype x,int i)
if (pre==null||count!=i-1)
else
}
刪除
bool delete(list l,int i)
if (pre==null||count!=i-1||pre->next=null)
else
}
資料結構 線性結構
typedef int position typedef struct lnode list struct lnode 初始化 list makeempty 查詢 define error 1 position find list l,elementtype x 插入 bool insert lis...
資料結構 線性結構與非線性結構
線性結構是最常用的資料結構,其特點是資料元素之間存在著一對一的線性關係。線性結構有著兩種不同的儲存結構,順序儲存結構 陣列 和鏈式儲存結構 鍊錶。順序儲存的線性表稱為順序表,順序表中的儲存元素是連續的。鏈式儲存的線性表稱為鍊錶,鍊錶中的儲存元素不一定是連續的,並且鍊錶元素節點中存放著資料元素以及相鄰...
資料結構 線性結構和非線性結構
資料結構包括 線性結構和非線性結構 線性結構 線性結構作為最常用的資料結構,其特點是資料元素之間存在一對一的線性關係 線性結構有兩種不同的儲存結構,即順序儲存結構和鏈式儲存結構.順序儲存的線性表稱為順序表,順序表中的儲存元素是連續的 鏈式儲存的線性表稱為鍊錶,鍊錶中儲存元素不一定是連續的,元素節點中...