按值进行修改
/按值进行修改(作业)
int list_change_value(LinklistPtr L,datatype e,datatype r)
{
if(NULL==L||list_empty(L))
{
printf("修改失败\n");
return 0;
}
LinklistPtr q=L;
int count=list_search_num(L,e);
if(count==0)
{
return 0;
}
while(count>0)
{
q=q->next;
count--;
}
q->data=r;
printf("修改成功\n");
return 1;
}
按位置进行修改
int list_change_pos(LinklistPtr L,int pos,datatype e)
{
if(NULL==L||list_empty(L)||pos<1||pos>L->len)
{
printf("修改失败\n");
return 0;
}
LinklistPtr q=list_search_pos(L,pos);
q->data=e;
printf("修改成功\n");
return 1;
}
链表的排序
int list_sort(LinklistPtr L)
{
if(NULL==L||list_empty(L))
{
printf("排序失败\n");
return 0;
}
for(int i=1;i<L->len;i++)
{
for(int j=1;j<L->len-i+1;j++)
{
if((list_search_pos(L,j))->data > (list_search_pos(L,j+1))->data)
{
datatype temp =(list_search_pos(L,j))->data;
(list_search_pos(L,j))->data=(list_search_pos(L,j+1))->data;
(list_search_pos(L,j+1))->data=temp;
}
}
}
return 1;
}
思维导图