顺序查找又称线性查找:
基本思想:从查找表的一端开始,向另一端逐个按给定值K与关键字进行比较,若找到,查找成功;
并给出记录在表中的位置;若整个表检测完,仍未找到与K值相同的关键字,则查找失败;
优点:对表中数据的存储没有要求,对于链表,只能进行顺序查找;
缺点:当n值很大时,平均查找长度较大,效率低;
import java.util.Scanner;
public class OrderSearch {
/**
* 顺序查找算法
*
* @param srcArray 有序数组
* @param key 查找元素
* @return key的数组下标,没找到返回-1
*/
public static void main(String[] args) {
int[] srcArray = {3,5,11,17,21,23,28,30,32,50,64,78,81,95,101};
System.out.println("请输入需要查找的数:");
Scanner input=new Scanner(System.in);
int key=input.nextInt();
input.close();
System.out.println("顺序查找算法结果 :"+orderSearch(srcArray,key));
}
private static int orderSearch(int[] srcArray, int key){
for(int i=0;i
if (srcArray[i]==key) {
return i;
}
}
return -1;
}
}
本文介绍了顺序查找算法的基本思想和优缺点,并提供了一个Java实现的例子。顺序查找适用于任何类型的数据结构,但在大规模数据中效率较低。通过输入要查找的数值,程序会遍历数组并返回元素的位置,若未找到则返回-1。
570

被折叠的 条评论
为什么被折叠?



