繼上篇順序表,我們又實現了單鏈表。
//參考李春葆資料結構第5版
#include
#include
using
namespace std;
#define maxsize 50
typedef
int elemtype;
typedef
struct lnode
linknode;
//頭插法
void
createlistf
(linknode *
&l,elemtype a,
int n)
}//尾插法
void
crestelistr
(linknode *
&l,elemtype a,
int n)
r->next=
null;}
//初始化鍊錶
void
initlist
(linknode *
&l)//銷毀鍊錶
void
destroylist
(linknode *
&l)free
(pre);}
//判空
bool
listempty
(linknode *l)
//輸出鍊錶
void
displist
(linknode *l)
printf
("\n");
}//求長度
intlistlength
(linknode *l)
return n;
}//求線性表第i個元素的值
bool
getelem
(linknode *l,
int i,elemtype &e)
if(p==
null
)return
false
;else
}//按元素值查詢
intlocateelem
(linknode *l,elemtype e)
if(p==
null
)return0;
else
return i;
}//插入資料元素
bool
listinsert
(linknode *
&l,int i,elemtype e)
if(p==
null
)return
false
;else
}bool
lsitdelete
(linknode *l,
int i,elemtype &e)
if(p==
null
)return
false
;else
}int
main()
;initlist
(l);
createlistf
(l,a,10)
;displist
(l);
cout<<
listlength
(l)
(l,5
,e);
cout
locateelem
(l,0
)
(l,3
,100);
displist
(l);
lsitdelete
(l,5
,e);
displist
(l);
destroylist
(l);
return0;
}
資料結構 單鏈表實現
線性表的鏈式儲存結構的特點是用一組任意的儲存單元儲存線性表的資料元素 這組儲存單元可以是連續的,也可以是不連續的 因此,為了表示每個資料元素與其直接後繼資料元素之間的邏輯關係,對資料元素來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後繼的資訊 即直接後繼的儲存位置 這兩部分資訊組成資料元素的...
資料結構 單鏈表實現
在鏈式儲存中,節點之間的儲存單元位址可能是不連續的。鏈式儲存中每個結點都包含兩部分 儲存元素本身的資料域和儲存結點位址的指標域。結點中的指標指向的是下乙個結點,也就是儲存的下乙個結點的位址。1.建立鍊錶 在建立鍊錶時,頭結點不儲存資料,但可以儲存鍊錶的資訊。struct header 儲存資料的結點...
資料結構 單鏈表實現
package list public class singlelinkedlist private class node public node object data 頭插法 public void headinsert object data 尾插法 public void tailinser...