双向链表
来源:互联网 发布:管家婆软件服务电话 编辑:程序博客网 时间:2024/05/22 16:59
双向链表容易查找前驱和后驱的结点,在双向链表中至少有三个域:左链域,数据域,右链域,该结构如图:
根据上面的结构我们可以知道一条关系:ptr=ptr->llink->rlink=ptr->rlink->llink
该双向链表的头结点如图:
双向链表的插入和删除操作的代码如下:
#include <iostream>#include<stdio.h>#include<stdlib.h>using namespace std;typedef struct{ int data;}element;typedef struct node *node_pointer;//双向链表的结构struct node{ element item; node_pointer rlink; node_pointer llink;};//双向链表插入操作void dinsert(node_pointer node,node_pointer newnode){ //newnode插入到node的后驱 newnode->rlink=node->rlink; newnode->llink=node; node->rlink->llink=node; node->rlink=newnode;}//双向链表删除操作void ddelete(node_pointer node,node_pointer deleted){ if(node==deleted) printf("Deletion of head node not permited.\n"); else { deleted->llink->rlink=deleted->rlink; deleted->rlink->llink=deleted->llink; free(deleted); }}
0 0
- SzNOI 双向约瑟夫(双向链表)
- 双向链表&&堆栈
- 双向链表
- 使用双向链表
- 双向链表
- 双向循环链表
- 双向循环链表
- 双向链表
- 实现双向链表
- 双向循环链表
- 建立双向链表
- 双向链表
- 双向链表
- 双向循环链表
- 双向链表
- 链表-双向链表
- 双向链表
- 双向动态链表
- gcc 多次调用scanf %c时,"\n"引发的程序异常
- 浅谈单片机程序设计中的“分层思想”
- 数据库三种范式的理解
- linux下epoll如何实现高效处理百万句柄的
- 自旋锁和互斥锁区别
- 双向链表
- eclipse新建maven web项目流程
- BZOJ 3931 网络吞吐量 (最短路+最大流)
- hdu 4366 Successor (线段树xdfs序x排序预处理)
- Attribute "scope" must be declared for element type "bean"
- java字符与对应Ascii码互转
- Spring技术内幕——深入解析Spring架构与设计原理(一)IOC实现原理
- UISearchbar 搜索按钮更换 代码实现UISearchbar去除第一响应
- 用apktool反编译的时候出错:Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: