单链表-----数据结构

//测出链表表长 
int ListLength_L(LinkList L)
{
p=L; k=0;
while(p)
{
k++;
p=p->next;
}
return k;
}




//查找元素 
LNode * LocateELem_L(LinkList L,ElemType e)
{
p=L;
while(p&&p->date!=e) p=p->next;
return p;
}




//查找p将其插入 
void ListInsert_L(LinkList &L,Lnode *p,Lnode *s)
{
//指针p指向L为头指针的链表中某个结点,将s结点插入到p结点之前
if(p==L)   //将s结点插入在链表的第一个结点之前 
s->next=L;
L=s;
else
{
q=L;
while(q->next!=p) q=q->next;
q->next=s; s->next=p;
}
 }
 
 
 //查找p将其删除
 void ListDelete_L(LinkList &L,Lnode *p,ElemType *e)
 {
  //p指向L为头指针的链表中某个结点,从链表中删除该结点并由e返回其元素 
  if(p==L)    //删除链表中第一个结点,修改链表头指针 
  L=p->next;
  else
  {
  q=L;
  while(q->next!=p) q=q->next;   //查找p的前驱结点q 
  q->next=p->next;            //修改q结点的指针域 
}
e=p->data; delete p;     //返回别删除结点的数据元素,并释放结点空间 
  } 
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值