listnode creatlisttail(listnode* l, int a, int len)
return *l;
}
2.下面是單鏈表的插入函式
listnode listnodeinsert(listnode* l,int index,int value)
while (p&&(i+
1) < index)
if (!p || (i+
1) > index)
trans->next = p->next; //進行插入操作
p->next = trans;
return
*l;}
3.單鏈表成員刪除操作
listnode listnodedelete(listnode* l, int
index)
while (p&&i < index)
if (!p || i < index)
r = p->next; //刪除操作
p->next = r->next;
free(r);
return
*l;}
4.main函式顯示效果:
int main() ;
test = creatlisttail(&test, aa, 5);
cout
<< "插入資料前:"
<< endl;
showlist(&test);
test = listnodeinsert(&test, 2, 9);
cout
<< "插入資料後:"
<< endl;
showlist(&test);
cout
<< "刪除剛才插入的資料:"
資料結構 鍊錶之單鏈表
單鏈錶即每個節點都存在資料域和指標域 特殊節點除外 每個節點都乙個直接前驅節點和直接後繼節點 頭節點無前驅,尾節點無後繼 簡單來說就是上乙個節點的指標域中存放了下乙個節點的位址,因此可以實現層層節點依次查詢,時間複雜度為o n 這也就是相對順序表而言的缺點,但是對於頻繁的插入和刪除節點卻是相對於順序...
資料結構03 鍊錶之單鏈表
鍊錶帶頭結點和不帶頭結點的區別?完成單鏈表的以下基本操作 完整 鍊錶的結構非常多樣,以下情況組合起來就有8種鍊錶結構 單向 雙向 帶頭 不帶頭 迴圈 非迴圈 鍊錶的節點 typedef struct slistnode node,pnode 鍊錶的結構,給乙個頭指標儲存鍊錶第乙個節點的位址 type...
資料結構 鍊錶1(單鏈表)
資料結構 單鏈表 單鏈表的定義 單鏈表是用一組任意的儲存單元存放線性表的元素,這組儲存單元可以連續也可以不連續,甚至可以零散分布在記憶體中的任意位置。每個儲存單元在儲存資料元素的同時,還必須儲存其後記元素的位址資訊,這個位址資訊稱為指標。這兩部分組成了資料元素的儲存映像,稱為結點。結點node分為資...