双向链表的简单实现
2014-09-08 16:45
260 查看
#include <stdlib.h> #include <stdio.h> struct list { struct list *prev; struct list *next; }; struct list *lis 8b42 t_head = {NULL, NULL}; void list_init(struct list *head) { head->next = head; head->prev = head; } void list_insert(struct list **head, struct list *p) { strcut list *h = *head; p->next = h->next; p->prev = h->prev; h->prev->next = p; h->prev = p; *head = p; } void list_remove(struct *head, struct list *p) { struct list *h = head; while(h) { if (h == p) { h->prev->next = h->next; h->next->prev = h->prev; } h = h->next; } } int list_size(struct list *head) { int count = 0; struct list *h = head; while(h) { count ++; h = h->next; } return count; }
相关文章推荐
- 简单双向链表(C++模版技术实现)
- (C语言版)链表(四)——实现双向循环链表创建、插入、删除、释放内存等简单操作
- (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
- 简单易懂的C语言实现双向链表代码
- 双向链表的简单实现丶
- 数据结构复习 之 一个简单双向链表的实现
- 简单数据结构之双向链表(C++实现)
- [java数据结构]--java双向链表LinkedList的简单实现
- C++实现简单的双向链表
- (C语言版)链表(四)——实现双向循环链表创建、插入、删除、释放内存等简单操作
- STL中双向链表的简单实现
- (C语言版)链表(四)——实现双向循环链表创建、插入、删除、释放内存等简单操作
- (C++版)链表(三)——实现双向链表的创建、插入、删除等简单操作
- PHP实现简单双向链表
- 简单实现双向循环链表
- (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
- 双向链表的简单实现
- (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
- (C语言版)链表(四)——实现双向循环链表创建、插入、删除、释放内存等简单操作
- 双向链表的简单实现