以下是我在學習鍊錶及其相關介面操作時寫的**:
1.函式定義的 .c 檔案
#include
"linkedlist.h"
#include
#include
#include
//1.初始化 / 銷毀
void
llistinit
(llist *llist)
//2.頭插
void
llistpushfront
(llist *llist, lldatatype v)
//3.尾插
void
llistpushback
(llist *llist, lldatatype v)
else
p->next = node;}}
//4.頭刪
void
llistpopfront
(llist *llist)
//5.尾刪
void
llistpopback
(llist *llist)
else
free
(p->next)
;//p指向倒數第二個節點,則p->next指向最後乙個節點
p->next =
null;}
}//6.在pos後面插入
void
llistposafter
(llist *llist, node *pos, lldatatype v)
//7.在pos後刪
llisteraseafter
(llist *llist, node *pos)
//8.按值查詢
node *
llistfind
(llist *llist, lldatatype v)
p = p->next;
}*/for(p = llist->first; p !=
null
; p = p->next)
}return
null;}
//9.按值改
void
llistmodify
(llist *llist, lldatatype v, lldatatype m)
node *p = llist->first;
while
(p->next !=
null
) p = p->next;}}
//10.按值刪除第乙個
void
llistremove
(llist *llist, lldatatype v)
node *p = llist->first;
if(p->value == v)
else
p = p->next;}}
}//11.按值刪除所有
void
llistremoveall
(llist *llist, lldatatype v)
node *p = llist->first;
while
(p->next !=
null
)else}if
(llist->first->value == v)
}//12.鍊錶翻轉
void
llistreverse
(llist *llist)
llist->first = result;
//翻轉成功後將頭結點的位址給 llist->first
}//13.列印
void
llistprint
(const llist* llist)
printf
("\n");
}
2.函式宣告的 .h 標頭檔案
#pragma once
typedef
int lldatatype;
// 鍊錶中的乙個結點
typedef
struct node node,
*nodepointer;
// single list
typedef
struct llist llist;
// 初始化 / 銷毀
void
llistinit
(llist *llist)
;//1.增
//頭插
void
llistpushfront
(llist *llist, lldatatype v)
;//尾插
void
llistpushback
(llist *llist, lldatatype v)
;//在pos後面插入
void
llisposafter
(llist *llist, node *pos, lldatatype v)
;//2.刪
//頭刪
void
llistpopfront
(llist *llist)
;//尾刪
void
llistpopback
(llist *llist)
;//在pos後刪
llisteraseafter
(llist *llist, node *pos)
;//按值刪除第乙個
void
llistremove
(llist *llist, lldatatype v)
;//按值刪除所有
void
llistremoveall
(llist *llist, lldatatype v)
;//3.改
//按值改
void
llistmodify
(llist *llist, lldatatype v, lldatatype m)
;//4.查
//按值查詢
node *
llistfind
(llist *llist, lldatatype v)
;//5.鍊錶翻轉
void
llistreverse
(llist *llist)
;//6.列印
void
llistprint
(const llist* llist)
;
3.主函式 main.c 檔案
/*******************************鍊錶********************************/
#include
"linkedlist.h"
#include
void
test2()
intmain()
資料結構 迴圈鍊錶的相關操作
include include 結點的資料結構 typedef struct nodenode,pnode 迴圈鍊錶的資料結構 typedef struct linklistlinklist,clinklist 初始化迴圈鍊錶 bool initlist clinklist l l head nex...
《資料結構》 「鍊錶的建立等相關操作」
建立鍊錶並遍歷 include using namespace std 定義單鏈表型別 typedef int elemtype typedef struct lnodelnode,linklist 建立乙個鍊錶 void createlist l linklist l,int n 遍歷鍊錶 voi...
資料結構《二》鍊錶的基本操作
因為這學期c 大作業涉及到了鍊錶 棧和佇列,所以這方面知識點記得還比較牢靠,所以先把這些整理下,同時我也會查閱網上相關題目練一下手 本篇主要複習一下鍊錶初始化,頭插法及尾插法輸入,逆置,以及排序 include includeusing namespace std typedef struct no...