数据结构:单链表——定义、插入、删除
1、查找元素
查找第i个元素
LNode *GetEleme_i(LinkList L,int i){
if(i<1){
return NULL;
}
LNode *p;
p=L;
int j=0;
while (p!=NULL && j<i)
{
p=p->next;
j++;
}
return p;
}
查找e元素的结点
LNode *GetEleme_e(LinkList &L,ElementType e){
LNode *p;
p=L;
while (p!=NULL && p->data!=e)
{
p=p->next;
}
return p;
}
这里第一个查找第i个元素的函数,可以在之前插入与删除元素中应用,这样就不需要重复多次的写复杂的代码块,只需要每次调用GetElemt_i就可以找到我们要在那个位置进行插入操作了。这样将需要多次重复使用的代码块单独拿出来写作一个函数,再有其他函数进行调用的方式叫做“封装”,这样既便于代码的编写,也利于后期维护。
2、计算链表长度
int Get_LinkList_len(LinkList &L){
LNode *p=L;
int len=0;
while (p!=NULL)
{
p=p->next;
len++;
}
return len;
}