数据结构论坛

首页 » 分类 » 分类 » 带你认识数据结构线性链表的查找操作
TUhjnbcbe - 2024/10/25 15:59:00
北京有哪些治白癜风的医院 http://www.t52mall.com/

#数据#在文章中,作者介绍了如何对一个线性表链表进行插入和删除操作。

在本篇文章中,作者将介绍如何在线性链表中进行查找操作,以及如何算出一个线性链表的长度。

线性链表的查找操作主要分为两种——按位查找和按值查找,接下来我们就来依次对它们进行了解。

一,按位查找:

按位查找是指要查找第i个位序的元素。它的实现其实非常简单,只需要把上篇文章中的按位插入操作略微改动即可,以下是实现c++代码:

Node*GetElem(LinkListl,inti){

  if(i0){

    returnNULL;

    //TODO

  }//如果i0,则代表i的值不合法,返回空

  Node*p=l;//将p指向链表的头结点

  intj=0;

  while(p!=NULLji){

    p=p-next;

    j++;    //TODO

  }//如果p指针没有指向空(这意味着输入的i值没有大于链表的长度),同时ji(限定链表的长度)

  returnp;//查找完毕后返回p指针

}

二,按值查找:

按值查找是指要查找值为e的元素,以下是代码实现:

Node*LocateElem(LinkListl,inte){

  Node*p=l-next;//将p指向第一个有元素的结点

  while(p!=NULLp-data!=e){

    p=p-next;

    //TODO

  }//如果p不为空同时元素不匹配,则后移元素

  returnp;//找到p后返回

}

本篇文章到此就结束了,如果大家有什么建议,问题,欢迎在下方的评论区给作者留言。

1
查看完整版本: 带你认识数据结构线性链表的查找操作