1单链表的按位插入与删除
makefile
void awcr(xmz* head,int n,Iint num)
{
xmz* awc = (xmz*) malloc(sizeof(xmz));
if(NULL == awc)
{
printf("堆空间申请失败");
return;
}
if(n<=0 || n>head->msg.len+1)
{
printf("插入位置不合法");
return;
}
xmz* p = head;
for(int i=0;i<n-1;i++)
{
p = p->next;
}
awc->msg.data = num;
awc->next=p->next;
p->next=awc;
head->msg.len++;
return;
}
void awsc(xmz* head,int n)
{
if(n<=0 || n>=head->msg.len+1)
{
printf("删除位置不合法");
return;
}
xmz* p=head;
for(int i=0;i<n-1;i++)
{
p = p->next;
}
xmz* q = p->next;
p->next=q->next;
free(q);
q=NULL;
head->msg.len--;
return;
}
运行结果
2.顺序表的去重
makefile
运行结果