帶頭雙向迴圈鍊錶增刪操作

2021-09-24 22:51:57 字數 1259 閱讀 1935

標頭檔案list.h存放函式宣告

#ifndef _list_h

#define _list_h

#include #include #include typedef int ltdatatype;

typedef struct listnodelistnode;

typedef struct listlist;

//初始化函式

void listinit(list* plist);

//銷毀,釋放函式

void listdestroy(list* plist);

//尾插

void listpushback(list* plist, ltdatatype x);

//尾刪

void listpopback(list* plist);

//頭插

void listpushfront(list* plist, ltdatatype x);

//頭刪

void listpopfront(list* plist);

//列印函式

void listprint(list* plist);

#endif //_list_h

原始檔list.c存放函式功能實現

#include "list.h"

//初始化函式

void listinit(list* plist)

//銷毀,釋放函式

void listdestroy(list* plist)

free(plist->_head);

plist->_head = null;

}//尾插

void listpushback(list* plist, ltdatatype x)

//尾刪

void listpopback(list* plist)

}//頭插

void listpushfront(list* plist, ltdatatype x)

//頭刪

void listpopfront(list* plist)

}//列印函式

void listprint(list* plist)

printf("<-->head\n");

}

原始檔main.c用來測試**功能

#include "list.h"

int main()

帶頭雙向迴圈鍊錶

首先,我們來看一下帶頭雙向迴圈鍊錶的結構 目錄 帶頭雙向迴圈鍊錶結點的定義 相關操作介面 1 初始化 獲取乙個結點 2 銷毀鍊錶 3 尾插 4 頭插 5 指定元素查詢 6 任意位置插入 7 尾刪 8 頭刪 9 任意位置刪除 10 列印鍊錶 附上完整 typedef int datatype type...

帶頭雙向迴圈鍊錶

帶頭雙向迴圈鍊錶的增刪查改實現 帶頭 雙向 迴圈鍊錶增刪查改實現 typedef int ltdatatype typedef struct listnode listnode 建立乙個新節點 listnode buylistnode ltdatatype x 建立返回鍊錶的頭節點 listnode...

雙向迴圈帶頭鍊錶的基礎操作 增刪改查

typedef int cldatatype 結點型別 typedef struct listnode listnode 鍊錶的頭 typedef struct list list 建立乙個雙向迴圈鍊錶結點 listnode buylistnode cldatatype x 初始化雙向迴圈帶頭鍊錶 ...