完成单链表的按值进行修改函数:
//按值修改函数
int list_update_value(linklist *l,datatype e,datatype new_e)
{
//判断逻辑
if(NULL==l||list_empty(l))
{
printf("查找失败\n");
return -1;
}
//查找逻辑
linklist *q=l->next; //从第一个结点出发
for(int i=1;i<=l->len;i++)
{
if(q->data==e)
{
q->data=new_e;
printf("按值修改成功\n");
return 1;
}
q=q->next; //继续判断下一个结点
}
}
效果图:
完成单向链表的翻转:void list_reverse(LinkList *L); 例如:原链表元素为:ABCD 翻转后:DCBA
//单向链表翻转
void list_fanzhuan(linklist *l)
{
//翻转逻辑
linklist *p=l->next;
l->next=NULL;
while(p!=NULL)
{
linklist *q=p;
p=p->next;
q->next=l->next;
l->next=q;
}
printf("翻转成功\n");
}
效果图: