//6、头删
void dele_head(double_p H)
{
if(H==NULL)
{
printf("Error !\n");
return ;
}
double_p p=H;
p=H->next;
H->next=p->next;
p->next->pri=H;
free(p);
H->len--;
}
//4、尾插
void insert_tail(double_p H,datatype data)
{
if(H==NULL)
{
printf("Error !\n");
return ;
}
double_p new = create_node(data);
double_p p=H;
while(p->next!=NULL)
{
p=p->next;
}
new->next=p->next;
new->pri=p;
p->next=new;
H->len++;
}
//8、按位置插入
void insert_pos(double_p H,datatype data,int pos)
{
if(H==NULL)
{
printf("Error !\n");
return ;
}
if(pos<0 || pos>H->len+1)
{
printf("unsuitable !\n");
return ;
}
double_p p=H;
double_p new=create_node(data);
for(int i=0;i<pos-1;i++)
{
p=p->next;
}
new->next=p->next;
new->pri=p;
if(p->next!=NULL)
{
p->next->pri = new;
}
p->next = new;
H->len++;
}
//9、按位置删除
void dele_pos(double_p H,int pos)
{
if(H==NULL)
{
printf("Error !\n");
return ;
}
if(pos<0 || pos>H->len)
{
printf("unsuitable !\n");
return ;
}
double_p p = H;
for(int i=0;i<pos;i++)
{
p=p->next;
}
if(p->next!=NULL)
{
p->next->pri=p->pri;
p->pri->next=p->next;
free(p);
H->len--;
}
else
{
p->pri->next=NULL;
free(p);
H->len--;
}
}
![](https://img-blog.csdnimg.cn/direct/af001d93eae94c63bc0e6954d55f6588.png)