顺序查找
2013-08-15 09:21 北漂男孩 阅读(310) 评论(0) 编辑 收藏 举报顺序查找又名为线性查找,主要用在线性表中进行查找。
1、一般线性表的顺序查找
思路:
作为一种最直观的查找方法,基本思想是从线性表的一端开始,逐个查询关键字是否满足给定的条件。若查找到某个元素的关键字满足条件,则查询成功,返回该元素在
线性表中的位置;若已经找到另一端,但是还没有找到适合的条件元素,则返回失败的消息。
type struct{ ElemType *elem; Int TableLen; }SSTable; int Search_Seq(SSTable ST,ElemType key) { ST.elem(0)=key; //哨兵 for(i=ST.TableLen;ST.elem[i]!=key;--i) //从后往前找 return i; }
哨兵:引入哨兵的目的是使得Search_Seq不必判断数组是否会越界,因为当满足i=0时,循环一定会跳出。通过引入哨兵可以避免很多不必要的判断语句,从而提高
程序的效率。