查找算法之顺序查找

基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到的结点关键宇和给定值K相比较。若当前扫描到的结点关键字与K相等,则查找成功;若扫描结束后,仍未找到关键字等于K的结点,则查找失败。

顺序查找的优点:

     算法简单,且对表的结构无任何要求,无论是用向量还是用链表来存放结点,也无论结点之间是否按关键字有序,它都同样适用。

顺序查找的缺点:

  查找效率低,因此,当n较大时不宜采用顺序查找。

实现代码:

 

public class SequenceSearch {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int[] array =  { 2, 3, 5, 8, 7 };
		 
        int result = sequenceSearch(array, 3);

        if (result != -1)
            System.out.println("已经在数组中找到,索引位置为:" + result);
        else
        	System.out.println("没有此原始");


	}
	
	//顺序查找
    public static int sequenceSearch(int[] array, int key)
    {
        for (int i = 0; i < array.length; i++)
        {
            //查找成功,返回序列号
            if (key == array[i])
                return i;
        }
        //未能查找,返回-1
        return -1;
    }


}

运行结果:
已经在数组中找到,索引位置为:1


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值