//按位置进行修改
LinkListPtr list_change_pos(LinkListPtr L,int pos,datatype e)
{
//判断逻辑
if(NULL==L||list_empty(L)||pos<0||pos>L->len)
{
printf("修改失败\n");
return NULL;
}
//定义遍历指针从头结点开始
LinkListPtr q=L;
for(int i=0;i<pos;i++)
{
q=q->next;
}
q->data=e;
return q;
}
//按值进行修改
int list_change_value(LinkListPtr L,datatype e,datatype a)
{
//逻辑判断
if(NULL==L||list_empty(L))
{
printf("修改失败\n");
return 0;
}
LinkListPtr q=L;
while((q=q->next)!=NULL)
{
if(q->data==e) //找到值
{
q->data=a; //修改值
}
}
return 0;
}
//链表排序
void list_paixu(LinkListPtr L)
{
//逻辑判断
if(NULL==L||list_empty(L))
{
printf("排序失败\n");
return ;
}
int i,count=0,num;
LinkListPtr p;
LinkListPtr q;
LinkListPtr t;
for(i=0;i<L->len;i++)
{
num=(L->len)-i-1;
q=L->next;
p=q->next;
t=L;
while(num--)
{
if(q->data>p->data)
{
q->next=p->next;
p->next=q;
t->next=p;
}
t=t->next;
q=t->next;
p=q->next;
}
}
list_show(L);
}
//递归实现链表反转
day5数据结构
最新推荐文章于 2024-09-28 09:18:19 发布