我是罡罡同学,一位初入网安的小白。☜(ˆ▽ˆ)
(疯狂暗示 点赞 !关注!转发 !!! 点赞 !关注!转发 !!!)
* 您的支持是罡罡同学前进的最大动力!
打赏一点钱,帮我买包辣条,继续创作,谢大家!
数据结构-有序单链表中删除重复元素
void linkedlist_delete(node* head,int x){
int i;
node* p = head;
int count=0;//后面计算步长使用
while(p!=NULL){//使p指针找到待删除元素x(定位)
if(p->data!=x){
p=p->next;
count++;
}else{
break;
}
}
count=count-1;//减去头结点,计算步长,方便我的q指针定位!
while(p->data==x){//使p指向重复元素的最后一个
p=p->next;
}
node* q;
for(i=1;i<=count;i++){//使q指向待查找元素的前一个
q=q->next;
}
node* r=p->next;//使r指向 重复元素的最后一个的下一个结点
p->next=NULL;//断开
q->next=r;//连接到r所指向的结点
}