一.介绍
在本文中,我们将讨论或描述 Java 线性搜索。这是最简单的搜索方法。在此方法中,在列表中按顺序搜索要搜索的元素。此方法可应用于已排序或未排序的列表。
二.线性搜索(顺序搜索)
列表/数组的顺序搜索从列表/数组的开头开始,一直持续到找到该项目或搜索完整个列表/数组为止。线性 搜索(又称顺序搜索)是所有算法中最基本、最重要的算法。它易于理解和实现。
下图说明了线性搜索的实际工作方式。
三.线性搜索算法
步骤1:将搜索元素放入关键元素中并在列表中开始搜索。
System.out.print("\nEnter Search Key : ");
System.out.flush();
try
{
BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));
str = obj.readLine();
key = Integer.parseInt(str);
}
第 2 步:将此键元素与数组或列表的开头匹配,并逐一增加。
for (int i = 0; i < size; i++{
if (seaArr[i] == key)
return (i + 1);
}
步骤3:当键元素与数组或列表索引的元素匹配时,返回索引号。
步骤 4:如果增量到达链接或数组的末尾并且未找到匹配项,则返回“未找到”等消息。
例子
import java.io.*;
class search
{
String str;
int key, size, seaArr[];
public void getdata()
{
System.out.print("Enter how many data you want to enter : ");
System.out.flush();
try
{
BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));
str = obj.readLine();
size = Integer.parseInt(str);
seaArr = new int[size];
for (int i = 0; i < size; i++)
{
System.out.print("Enter element at " + (i + 1) + "th position : ");
System.out.flush();
str = obj.readLine();
seaArr[i] = Integer.parseInt(str);
}
} catch (Exception e)
{
System.out.println(e);
}
}
public int LinSrch()
{
System.out.println("=====LINEAR SEARCH=====\n");
getdata();
System.out.print("\nEnter Search Key : ");
System.out.flush();
try
{
BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));
str = obj.readLine();
key = Integer.parseInt(str);
for (int i = 0; i < size; i++)
{
if (seaArr[i] == key)
return (i + 1);
}
} catch (Exception e)
{
System.out.println(e);
}
return (0);
}
}
class Linear
{
public static void main(String args[])
{
search o1 = new search();
int result;
result = o1.LinSrch();
if (result == 0)
System.out.println("\nSearch Not Found");
else
System.out.println("\nSearch is Located at " + result + " Position");
}
}