第1个回答 2016-12-23
1、就有普通的遍历线性表元素进行查找:
int SearchElem(LinkList *L, ElemType e)
{
int n=1;
LinkList *p=L->next;
while (p!=NULL && p->data!=e)
{
p=p->next;
n++;
}
if (p==NULL)
return(0);
else
return(n);
}
2、使用二叉搜索树进行快速查找;
int SearchBST(BiTree T, int key, BiTree f, BiTree *p)
{
if (!T) /* 查找不成功 */
{
*p = f;
return FALSE;
}
else if (key==T->data) /* 查找成功 */
{
*p = T;
return TRUE;
}
else if (key<T->data)
return SearchBST(T->lchild, key, T, p); /* 在左子树中继续查找 */
else
return SearchBST(T->rchild, key, T, p); /* 在右子树中继续查找 */
}
3、降序的可以使用二分查找;本回答被提问者和网友采纳