前言
声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出数据结构每日一题
题目
设在一个带头节点的单链表中所以的元素节点值无序,要求删除表中的数据小于y,大于x的值的节点
要点
- 链表的遍历
- 链表的数据删除
思想
- 遍历链表,找到满足条件的节点,将其删除
- 要利用两个指针,一个用作遍历,一个用做记录删除的时候节点的前驱
void Delete(Linklist &L,int x,int y){
LNode *pre=L,*p=pre->next,*min;
while(p != NULL){
//找到满足条件的区间的值
if(p->data >x && p->data < y)
min=p;//获取满足条件要删除的节点信息
pre->next=p->next;
p=pre->next
free(min);
else{
pre=p;
p=p->next;
}
}
}