1、
/*
* function: 按位置修改
* @param [ in] 头节点 位置 元素
* @param [out]
* @return 成功返回0 失败返回-1
*/
int prepar_pos(linklist L,int pos,datatype e)
{
//判断头节点是否存在
//判断链表是否为空
//判断位置是否合法
if(L==NULL||L->len==0||pos<1||pos>L->len)
{
printf("修改失败\n");
return -1;
}
//找到pos,起名p
linklist p=L;
for(int i=0;i<pos;i++)
{
p=p->next;
}
//修改数据域
p->data=e;
return 0;
}
2、
/*
* function: 按元素修改
* @param [ in] 头结点 元素
* @param [out]
* @return 成功返回0 失败返回-1
*/
int prepar_data(linklist L,datatype key,datatype e)
{
int s=search_data(L,key);
prepar_pos(L,s,e);
return 0;
}
3、
/*
* function: 空间释放
* @param [ in] 头节点
* @param [out]
* @return
*/
linklist free_spece(linklist L)
{
int n=L->len;
for(int i=0;i<n;i++)
{
delete_head(L);
}
free(L);
L=NULL;
return NULL;
}