/*
* function: 按位置插入
* @param [ in]
* @param [out]
* @return
*/
void charu(LinkLIst* head,int n,int num)
{
LinkLIst *temp=(LinkLIst*)malloc(sizeof(LinkLIst));
if(NULL==temp)
{
printf("创建新节点失败,插入失败\n");
return;
}
temp->data.text=num;//将结点进行初始化
temp->next=NULL;
LinkLIst *p=head;
for(int i=0;i<n-1;i++)
{
p=p->next;
}
temp->next=p->next;
p->next=temp;
head->data.len++;
return;
}
/*
* function: 按位置删除
* @param [ in]
* @param [out]
* @return
*/
void delete(LinkLIst *head,int n)
{
//判断链表是否为空
if(head->next==NULL)
{
printf("链表为空,删除失败\n");
return;
}
LinkLIst *p=head;
LinkLIst *q=head;
for(int i=0;i<n-1;i++)
{
p=p->next;
}
q=p->next;
p->next=q->next;
free(q);
q=NULL;
head->data.len--;
return;
}
数据结构链表的操作
最新推荐文章于 2024-09-24 13:20:07 发布
本文详细介绍了在C语言中如何实现按位置插入和删除链表节点的操作,包括函数定义、参数处理以及链表结构的更新
摘要由CSDN通过智能技术生成