数据结构–单链表的查找
均以带头结点链表为例
目标:

GetElem(Li)
:按位查找操作。获取表L中第i个位置的元素的值。
LocateElem(L,e)
:按值查找操作。在表L中查找具有给定关键字值的元素。
按位查找
按位查找,返回第i 个元素(带头结点)
代码实现
typedef struct LNode
{ElemType data;struct LNode *next;
}LNode, *LinkList;LNode* GetElem(LinkList L, int i)
{if (i < 0) return NULL;LNode* p = L;int j = 0;while (L != NULL && j < i)p = p->next, j++;return p;
}

时间复杂度:O(n)
按值查找

代码实现
typedef struct LNode
{ElemType data;struct LNode *next;
}LNode, *LinkList;LNode* LocateElem(LinkList L, ElemType e)
{LNode* p = L;while (p != NULL && p->data != e)p = p->next;return p;
}
知识点回顾与重要考点
