数据结构系列之链表——单链表删除值为num的节点
来源:互联网 发布:千牛和淘宝助理的区别 编辑:程序博客网 时间:2024/06/06 09:00
步骤:
1.遍历链表,当num不等于节点值且next不为空时为p1/p2指针赋值
2.判断p1值是否为num,是则分类分析,否则num不在链表里
3.p1是头节点,删除时把head指向头节点的下一个节点,同时free p1
4.p1是中间节点,删除p2->next=p1->next, free p1
代码:
node* del(node *head,int num){
//删除值为num的节点
node *p1,*p2;
p1=head;
while(num!=p1->data&& p1->next!=NULL ){//得到num所在指针p1及其前面的p2
p2=p1;
p1=p1->next;
}
//num在单链表里
if(num==p1->data){
//p1为头节点
if(p1==head){
head=p1->next;
free(p1);
}
else{
p2->next=p1->next;
free(p1);
}
}
else { //没找到num
printf("nonum");
}
return head;
}
0 0
- 数据结构系列之链表——单链表删除值为num的节点
- 数据结构系列之链表——单链表插入值为num的节点
- 数据结构系列之链表——双链表删除
- 数据结构 -- 单链表之删除节点
- 数据结构—链表-单链表应用-删除元素最大的节点
- 数据结构-单链表节点的删除
- 数据结构-单链表节点的删除
- 数据结构—— 二叉树数据结构的节点删除问题
- 数据结构——距离根节点为k的节点
- 数据结构系列之链表——单链表的建立
- 数据结构之单链表——带有节点的单链表的创建、插入和删除(C/C++)
- 数据结构——单链表的创建、删除、遍历以及节点的插入、删除等操作
- Java数据结构-线性表之单链表应用-重复节点的删除
- 数据结构:单链表(二)之链表节点排序,升序插入数据,删除指定的所有节点,翻转链表操作
- 剑指offer系列之55:删除链表汇总重复的节点
- 数据结构杂记——无头单链表的节点删除
- 每周数据结构【1】:不带头结点删除所有值为x的节点
- 数据结构——2 单链表插入和删除节点
- 正则表达式的基础语法
- adb常用命令笔记
- 配置Log4j(很详细)
- 打印与截取url
- 电话面试经历,网易2017校招补招,机器视觉算法岗
- 数据结构系列之链表——单链表删除值为num的节点
- getRawX和getX的区别
- 回文平方数
- 查询结果的列表表头固定(冻结)的实现纪实
- Chrome是如何实现DNS的解析
- 企业应选择响应式网站还是原生APP开发
- Java object方法与GC回收
- String字符串的创建方式
- 谷歌公司的C++编码风格