线性表的链式表示

这篇博客介绍了链表的基本操作,包括单链表的查找、在指定位置插入元素以及删除元素的方法。提供了伪代码实现,展示了如何在链表的第二个位置插入元素99,并演示了删除元素的过程。此外,还提到了双向链表插入操作,但未给出具体代码。

查找
这是一段伪代码

LinkList LocateElem(LinkList L,ElemType e)
{
LinkList p=L->next;
while(p!=NULL&&p->data!=e)
{
p=p->next;
}
return p;
}

插入 给第二个位置 插入99
在这里插入图片描述
第二个位置是a2 头指针是0;
也可以把a2以及以后的数字往后移 把99插入
在这里插入图片描述
在这里插入图片描述

bool ListFrontInsert(LinkList L,int i,ElemType e)
{
LinkList p=GetElem(L,i-1);//拿到要插入位置的前一个位置的地址值
if(NULL==p)
{
	return false;//i不对
}
LinkList s=(LinkList)malloc(sizeof(LNode));//给新节点申请空间
s->data=e;
s->next=p->next;//插入
p->next=s;
return true;


}

删除
在这里插入图片描述

bool ListDelete(LinkList L, int i)
{
LinkList p=GetElem(L,i-1);//获取要删除位置的前驱结点
if(NULL==p)
{
return false;
}
LinkList q=p->next;
p->next=q->next;
free(q);
q=NULL;//避免野指针 野指针会产生异常
return true;




}

在这里插入图片描述
多了四个字节
双向链表的插入
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值