代码改变世界

顺序查找

2013-08-15 09:21  北漂男孩  阅读(308)  评论(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时,循环一定会跳出。通过引入哨兵可以避免很多不必要的判断语句,从而提高

程序的效率。