單鏈表的基本演算法1 C語言實現

2021-08-10 16:29:02 字數 2098 閱讀 7419

linklist.h

#ifndef __link_list_h__

#define __link_list_h__

#include

#include

#include

typedef int datatype;//定義資料型別

typedef struct node

node, *pnode;

//初始化鍊錶

void initlinklist(pnode* phead);

//給鍊錶建立新結點

pnode buynode(datatype x);

//正向列印鍊錶

void printlinklist(pnode phead);

//逆向列印鍊錶(遞迴列印)

void printlinklistformptailnode(pnode phead);

//給鍊錶尾插

void pushback(pnode* phead, datatype x);

//給鍊錶尾刪

void popback(pnode* phead);

//給煉表頭插

void pushfront(pnode* phead, datatype x);

//給煉表頭刪

void popfront(pnode* phead);

// 求煉表中節點的個數

size_t size(pnode phead);

// 正向銷毀單鏈表

void destroylist(pnode* phead);

// 逆向銷毀鍊錶(遞迴刪除)

void destroylinklistptailnode(pnode*phead);

#endif//__link_list_h__

linklist.c

#include

"linklist.h"

//初始化鍊錶

void initlinklist(pnode* phead)

//給鍊錶建立新結點

pnode buynode(datatype x)

}//正向列印鍊錶

void printlinklist(pnode phead)

printf("null\n");

}}//逆向列印鍊錶(使用遞迴)

void printlinklistformptailnode(pnode phead)

}//逆向列印鍊錶時,尾節點後面沒有 "null",例如:3-->2-->1-->

//所以封裝乙個函式,給尾節點加null,就變成3-->2-->1-->null

void printlinklistformptailnode2(pnode phead)

//給鍊錶尾插

void pushback(pnode* phead, datatype x)//尾插函式

ptail->pnext = pcur;

}}//給鍊錶尾刪

void popback(pnode* phead)

else

ptail->pnext = pcur;

free(pcur);

pcur =

null;

}}//給煉表頭插

void pushfront(pnode* phead, datatype x)

}//給煉表頭刪

void popfront(pnode* phead)

}//求煉表中節點的個數

size_t size(pnode phead)

return count;

}// 正向銷毀單鏈表

void destroylist(pnode* phead)

*phead =

null;

}// 逆向銷毀鍊錶(遞迴法銷毀)

void destroylinklistptailnode(pnode*phead)

}

test.c

#include"linklist.h"

void test()

int main()

單鏈表的基本操作(C語言實現)

單鏈表的初始化,建立,插入,查詢,刪除。include include typedef int elemtype 定義結點型別 typedef struct node node,linkedlist 單鏈表的初始化 linkedlist linkedlistinit 單鏈表的建立1,頭插法建立單鏈表...

C語言實現單鏈表的基本操作

listnode.h ifndef listnode h define listnode h include stdio.h include assert.h include stdlib.h typedef int datatype typedef unsigned int size t type...

單鏈表 的基本操作 c語言實現

鍊錶的基本操作 c語言實現 執行環境 dev c 5.11 以下為原始碼,如有不正確的地方歡迎指正!include include define false 0 define true 1 typedef int datatype typedef struct nodelinklist linkli...