日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

双向链表增删改查C语言代码,C语言中双向链表的增删改查输出源文件代码

發布時間:2023/12/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 双向链表增删改查C语言代码,C语言中双向链表的增删改查输出源文件代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C

/* 雙向線性鏈表

*

* LIST

* +------+------+

* +------ | head | tail | ------+

* | +------+------+ |

* | |

* V LIST_NODE V

* +------+ +------+ +------+

* | data | | data | | data |

* +------+ +------+ +------+

* | NULL |

* +------+ +------+ +------+

* | next | -> | next | -> ... -> | NULL |

* +------+ +------+ +------+

*/

#include

#include

#include "double_link_list.h"

/* 創建節點 */

static LIST_NODE* create_node (int data, LIST_NODE* prev,

LIST_NODE* next) {

LIST_NODE* node = malloc (sizeof (LIST_NODE));

node->data = data;

node->prev = prev;

node->next = next;

return node;

}

/* 銷毀節點 */

static LIST_NODE* destroy_node (LIST_NODE* node, LIST_NODE** prev) {

LIST_NODE* next = node->next;

if (prev)

*prev = node->prev;

free (node);

return next;

}

/* 創建 */

LIST* list_create (void) {

LIST* list = malloc (sizeof (LIST));

list->head = NULL;

list->tail = NULL;

return list;

}

/* 銷毀 */

void list_destroy (LIST* list) {

list_clear (list);

free (list);

}

/* 追加 */

void list_append (LIST* list, int data) {

list->tail = create_node (data, list->tail, NULL);

if (list->tail->prev)

list->tail->prev->next = list->tail;

else

list->head = list->tail;

}

/* 前插 */

bool list_insert (LIST* list, size_t pos, int data) {

LIST_NODE* find = NULL;

for (find = list->head; find; find = find->next)

if (! pos--) {

LIST_NODE* node = create_node (data, find->prev, find);

if (node->prev)

node->prev->next = node;

else

list->head = node;

node->next->prev = node;

return true;

}

return false;

}

/* 隨機訪問 */

int* list_at (LIST* list, size_t pos) {

LIST_NODE* find = NULL;

for (find = list->head; find; find = find->next)

if (! pos--)

return &find->data;

return NULL;

}

/* 刪除 */

bool list_erase (LIST* list, size_t pos) {

LIST_NODE* find = NULL;

for (find = list->head; find; find = find->next)

if (! pos--) {

LIST_NODE* prev = NULL;

LIST_NODE* next = destroy_node (find, &prev);

if (prev)

prev->next = next;

else

list->head = next;

if (next)

next->prev = prev;

else

list->tail = prev;

return true;

}

return false;

}

/* 刪除所有匹配數據 */

void list_remove (LIST* list, int data) {

LIST_NODE* find = NULL, *next = NULL;

for (find = list->head; find; find = next) {

next = find->next;

if (find->data == data) {

LIST_NODE* prev = NULL;

LIST_NODE* next = destroy_node (find, &prev);

if (prev)

prev->next = next;

else

list->head = next;

if (next)

next->prev = prev;

else

list->tail = prev;

}

}

}

/* 清空 */

void list_clear (LIST*

list) {

while (list->head)

list->head = destroy_node (list->head, NULL);

list->tail = NULL;

}

/* 大小 */

size_t list_size (LIST*

總結

以上是生活随笔為你收集整理的双向链表增删改查C语言代码,C语言中双向链表的增删改查输出源文件代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品在线免费播放 | 欧美成人综合 | 中文在线а√在线8 | 在线免费看黄色片 | 日韩中文字幕二区 | 丰满肉嫩西川结衣av | 日皮视频网站 | 最近日韩免费视频 | 日韩av在线免费 | 爱爱小视频免费看 | 国产一区二区视频在线免费观看 | 一级片视频播放 | 黄色复仇草 | 在线免费看av | av黄网站| 亚洲第1页 | 校园伸入裙底揉捏1v1h | 国产精品.www | 91福利在线视频 | 青草国产视频 | 豆花在线观看 | 牲欲强的熟妇农村老妇女视频 | 高h文在线 | 郑艳丽三级 | 女人洗澡一级特黄毛片 | 91久久综合亚洲鲁鲁五月天 | 成人精品视频一区二区三区尤物 | a视频免费在线观看 | 天堂网a | 日韩欧美在线一区二区 | 精品无码国产一区二区三区51安 | 国产精品99久久久久久久久久久久 | 男人扒女人添高潮视频 | 欧美老熟妇又粗又大 | 男人天堂2019 | 热久久免费视频 | 成年人网站在线观看视频 | 亚洲理论在线观看 | 欧美日韩精品电影 | 国产精品传媒在线观看 | 国内精品国产三级国产aⅴ久 | 精品欧美一区二区三区在线观看 | 欧美另类在线播放 | 久久深夜视频 | 亚洲欧美日本在线观看 | 电影一区二区三区 | 亚洲第一页av | 国产乱在线 | 男男车车的车车网站w98免费 | 日韩欧美精品久久 | 婷婷视频一区 | 中文在线观看免费网站 | 一区二区三区在线免费播放 | 天天干一干 | 与子敌伦刺激对白播放的优点 | 午夜国产 | 大牛影视剧免费播放在线 | 强行挺进皇后紧窄湿润小说 | 中文在线观看av | 久久精品电影 | 一卡二卡在线视频 | 精品久久久久久中文字幕 | 日本韩国欧美一区二区三区 | 黑人黄色录像 | 香蕉视频免费在线观看 | 操色网| 人人干人 | 欧美精品黄色 | 99久久综合国产精品二区 | 日韩精品一区在线播放 | 足疗店女技师按摩毛片 | 久久免费在线视频 | 丁香一区二区 | 久久最新精品 | 久久久久久久亚洲 | 春色av| 亚洲爆爽av | 欧美综合在线视频 | 国产精品视频第一页 | www,xxx日本 | 亚洲成人动漫在线观看 | 天天摸天天射 | 淫品色影院 | 91一区二区三区在线观看 | 精品欧美一区二区久久久久 | 华人色| 蜜桃视频在线观看网站 | 色啦啦视频 | 国产重口老太伦 | 爱情岛论坛自拍亚洲品质极速最新章 | 黄色小视频在线观看免费 | 久久久久国产精品熟女影院 | 日本一区二区三区四区视频 | 福利视频在线导航 | 葵司一区二区 | 农民人伦一区二区三区 | 国产人妻精品一区二区三区 | 国产传媒av在线 | 欧美午夜精品久久久久免费视 |