單鏈表的儲存結構
//lnode表示乙個單一的結點
//*linklist表示頭指標,指向乙個單鏈表的頭結點,頭結點一般為空!
typedef
struct lnode
lnode,
*linklist;
初始化
status initlist
(linklist *l)
取值
status getelem
(linklist l,
int i, elemtype *e)if(
!p || j>i)
*e = p->data;
return ok;
}
查詢
//這裡返回的是乙個結點指標
lnode *
locateelem
(linklist l, elemtype e)
插入
status listinsert
(linklist *l,
int i, elemtype e)if(
!p ||
(j>i-1)
)return error;
s = new lnode;
//p是要插入結點s的前乙個結點
s->data = e;
s->next = p->next;
p->next = s;
return ok;
}
刪除
status listdelete
(linklist *l,
int i)if(
!(p->next)
||(j>i-1)
)return error;
q = p->next;
p->next = q->next;
delete q;
return ok;
}
建立單鏈表——頭插法與尾插法
//頭插法
void
createlist_h
(linklist *l,
int n)
}//尾插法
void
createlist_t
(linklist *l,
int n)
}
第二章 線性表 單鏈表
一.帶頭節點的單鏈表。帶頭結點非空單鏈表 線性表的單鏈表的儲存結構描述 頭指標為空,l null 不帶頭結點的單鏈表為空 l next null 帶頭結點的空單鏈表l p結點的資料域值 p data p結點的後繼結點 p next 插入操作。單鏈表插入操作的主要步驟 1.確定插入位置 找到插入位置的...
資料結構 第二章 線性表(二)單鏈表
筆記 資料結構 第二章 線性表 二 單鏈表 通過指標把它的一串儲存結點鏈結成乙個鏈 儲存結點由兩部分組成 data欄位 link欄位 單鏈表的儲存映像 結點之間可以連續,也可以不連續儲存 結點的邏輯順序與物理順序可以不一致 錶可擴充。在c 中,可以用結構型別來描述單鏈表的結點 由於結點的元素型別不確...
資料結構 第二章 線性表
線性表 是具有相同型別的n n 0 個元素的有限序列,其中n為表長,當n 0時,該錶為空表。線性表的特點 線性表的九種基本操作 initlist l 初始化表。構造乙個空的線性表。destroylist l 銷毀操作。銷毀線性表,並釋放線性表l所占用的記憶體空間。locateelem l,e 按值查...