双链表的建立,删除及插入
来源:互联网 发布:动态加载数据js 编辑:程序博客网 时间:2024/06/09 00:28
#include <iostream>#include <stdio.h>using namespace std;struct DoubleList{ int data; DoubleList *pre; DoubleList *next;};//双链表的建立DoubldeList *CreatList(){ DoubleList *head=new DoubleList();//新建头结点 DoubleList *p=head; int cycle=1;//标记输入是否停止 while(cycle) { printf("\nPlease input node key:"); int x; scanf("%d",&x); if(x!=0) { DoubleList *s=new DoubleList();//新建结点 s->data=x; printf("the input value is:%d",s->data); p->next=s; s->pre=p; p=s; } else cycle=0; } head->pre=NULL; p->next=NULL;//尾结点的next置空 return head;}//双链表中删除某一个节点DoubleList *DeleteList(DoubleList *head,int num){ DoubleList *p=head; //查找删除的结点 while(p->data!=num&&p->next!=NULL) { p=p->next; } if(p->data==num)//查找到了待删除的结点 { if(p==head)//待删除的结点为头结点 { head=head->next; head->pre=NULL; delete p; } else if(p->next==NULL)//待删除的结点为尾结点 { p->pre->next=NULL; delete p; } else//待删除节点为中间节点 { p->next->pre=p->pre; p->pre->next=p->next; } } else printf("\n %d could not been found in list.",&num); return head;}//双链表中插入某一值numDoubleList *InsertList(DoubleList *head,int num){ DoubleList *p0=new DoubleList(); p0->data=num; DoubleList *p=head; //查找插入位置 while(p->data<num&&p->next!=NULL) p=p->next; if(p->data==num)//查找到了要插入的位置 { if(p==head)//插入到头结点之前 { p0->next=p; p->pre=p0; head=p0; } else//插入到中间节点 { p0->next=p1; p0->pre=p1->pre; p1->pre->next=p0; p1->pre=p0; } } else { p1->next=p0; p0->pre=p1; p0->next=NULL; } return head;}
0 0
- 双链表的建立,删除及插入
- 二叉排序树的建立、结点插入及删除
- 双链表的初始化,建立,插入,查找,删除
- 双链表的初始化,建立,插入,查找,删除
- 双链表的初始化,建立,插入,查找,删除
- 双链表的初始化,建立,插入,查找,删除。
- 双链表的建立、查找、删除、插入
- 【数据结构】双链表的建立,排序,插入,删除
- 编程实现双链表的建立、插入、删除
- 红黑树的建立,插入,删除
- 栈的建立,插入,删除
- 单链表的建立、插入、删除
- 编程实现双链表的建立、插入、删除、求长、逆置
- 双链表的建立、测长、打印、删除、插入
- 链表的建立、插入和删除
- 单链表的建立,插入,删除,逆置
- 链表的建立插入与删除
- 单链表的初始化,建立,插入,查找,删除。
- 微信公众平台java开发详解(工程代码+解析)
- 周期串问题(二)
- 高通平台memory信息的获取
- 并查集 POJ 1611 The Suspects
- 腾讯2016研发工程师编程题之生成格雷码
- 双链表的建立,删除及插入
- nmap把端口定义为六种状态的解读
- 访问项目配置文件web.xml
- 文本指纹算法和内容指纹系统介绍
- LeetCode 187 Repeated DNA Sequences
- C#程序设计基础——运算符与表达式
- day09_python socket编程之服务端代码
- Bzoj 1566: [NOI2009]管道取珠(动态规划->神题)
- Linux-测网速