双链表删除/插入节点
来源:互联网 发布:外文医学文献数据库 编辑:程序博客网 时间:2024/05/17 06:58
//双链表删除节点
dnode *del(dnode *head, int num)
{
dnode *p1, *p2;
p1 = head;
while (num != p1->data && p1->next != NULL)
{
p1 = p1->next;
}
if (num == p1->data)
{
if (p1 == head)
{
head = head->next;
head->pre = NULL;
free(p1);
}
else if (p1->next == NULL)
{
p1->pre->next = NULL;
free(p1);
}
else
{
p1->next->pre = p1->pre;
p1->pre->next = p1->next;
free(p1);
}
}
else
printf("\n %d could not been found", num);
return (head);
dnode *del(dnode *head, int num)
{
dnode *p1, *p2;
p1 = head;
while (num != p1->data && p1->next != NULL)
{
p1 = p1->next;
}
if (num == p1->data)
{
if (p1 == head)
{
head = head->next;
head->pre = NULL;
free(p1);
}
else if (p1->next == NULL)
{
p1->pre->next = NULL;
free(p1);
}
else
{
p1->next->pre = p1->pre;
p1->pre->next = p1->next;
free(p1);
}
}
else
printf("\n %d could not been found", num);
return (head);
}
//双链表插入节点
dnode * insert(dnode *head, int num)
{
dnode *p0, *p1;
p1 = head;
p0 = (dnode *)malloc(sizeof(dnode));
p0->data = num;
while (p0->data > p1->data && p1->next != NULL)
{
p1 = p1->next;
}
if (p0->data <= p1->data)
{
if (head == p1)
{
p0->next = p1;
p1->pre = p0;
head = p0;
}
else
{
p1->pre->next = p0;
p0->next = p1;
p0->pre = p1->pre;
p1->pre = p0;
}
}
else
{
p1->next = p0;
p0->pre = p1;
p0->next = NULL;
}
return head;
}
int main()
{
dnode *head, stud;
int n, del_num, insert_num;
head = creat();
print(head);
cout << "\n Int:";
cin >> del_num;
head = del(head, del_num);
print(head);
cout << "\nplease input the insert data:";
cin >> insert_num;
head = insert(head, insert_num);
print(head);
return 0;
}
0 0
- 双链表删除/插入节点
- 双链表删除/插入节点
- 向单链表中插入、删除节点
- 数据结构---单链表(建立,节点删除,节点插入)
- 双向链表 删除节点 插入节点
- 数据结构---单链表(建立,节点删除,节点插入)
- 单链表的插入节点与删除节点
- php实现双链表的删除和插入节点
- 创建新节点,删除节点,替换节点,特定节点前插入节点,特定节点后插入节点
- jQuery插入,复制、替换和删除节点
- 添加、删除、插入和替换[文本节点]
- jQuery插入,复制、替换和删除节点
- jQuery插入,复制、替换和删除节点
- 插入、移动和删除DOM节点
- jQuery:插入,复制,替换和删除节点
- jQuery插入,复制、替换和删除节点
- jQuery:插入,复制,替换和删除节点
- JQUERY插入,复制、替换和删除节点
- [转载] java web开发一个帐号同一时间只能一个人登录
- 请高手指点,PHP问题,解密出一个文件,不知道这个是什么用的,怎么使用,谢谢好友指点
- 《MFC游戏开发》笔记八 游戏特效的实现(二):粒子系统
- MAP基本操作函数
- UnrealEngine4-Roadmap
- 双链表删除/插入节点
- Eclipse快捷键大全(转载)
- iOS:KVO的概述与使用
- 面试准备---排序算法--冒泡排序
- 使用wamp集成开发环境,dos命令下数据库乱码解决问题
- 《MFC游戏开发》笔记九 游戏中的碰撞判定初步&怪物运动简单AI
- angularJS--多个控制器之间的数据共享
- Linux学习笔记02之文件管理
- python 面向对象高级特性