Java程序实现线性搜索

47 阅读1分钟

编写一个Java程序,对数组进行线性搜索。在这个Java线性搜索的例子中,for循环从起点到终点遍历数组项目。

if语句根据搜索项检查每个数字。如果它找到了匹配项,打印索引位置和break语句帮助javac退出循环:

package Remaining;

import java.util.Scanner;

public class LinearSearch0 {
	private static Scanner sc;
	
	public static void main(String[] args) {
		int i;
		
		sc = new Scanner(System.in);		
		
		int[] arr = {10, 20, 40, 60, 80, 100, 120, 150};
		
		System.out.print("Please Enter Number to Search =  ");
		int num = sc.nextInt();
		
		for(i = 0; i < arr.length; i++) 
		{
			if(arr[i] == num) 
			{
				System.out.println("The Index Position of " + num + " = " + i);
				break;
			}
		}
		if(i == arr.length)
		{
			System.out.println("Number Not Found");
		}
	}
}

image.png

这个Java例子接受用户输入的数组大小和项目,并执行线性搜索来寻找数字:

package Remaining;

import java.util.Scanner;

public class LinSea1 {
	private static Scanner sc;
	
	public static void main(String[] args) {
		int Size, i;
		
		sc = new Scanner(System.in);		
		System.out.print("Please Enter the size = ");
		Size = sc.nextInt();
		
		int[] arr = new int[Size];
		
		System.out.format("Enter %d elements = ", Size);
		for(i = 0; i < Size; i++) {
			arr[i] = sc.nextInt();
		}
		
		System.out.print("Please Enter Number to Find =  ");
		int num = sc.nextInt();
		
		for(i = 0; i < arr.length; i++) 
		{
			if(arr[i] == num) 
			{
				System.out.println("The Index Position of " + num + " = " + i);
				break;
			}
		}
		if(i == arr.length)
		{
			System.out.println("Number Not Found");
		}
	}
}
Please Enter the size = 8
Enter 8 elements = 11 23 45 67 77 89 98 100
Please Enter Number to Find =  98
The Index Position of 98 = 6

使用函数对数组进行线性搜索的Java程序:

package Remaining;

import java.util.Scanner;

public class LinSea2 {
	private static Scanner sc;
	
	public static void main(String[] args) {
		
		sc = new Scanner(System.in);		
		System.out.print("Please Enter the size = ");
		int Size = sc.nextInt();
		
		int[] arr = new int[Size];
		
		System.out.format("Enter %d elements = ", Size);
		for(int i = 0; i < Size; i++) {
			arr[i] = sc.nextInt();
		}
		
		System.out.print("Please Enter Number to find =  ");
		int num = sc.nextInt();
		
		int result = lnSea(arr, num);
		if(result == -1)
		{
			System.out.println("Number Not Found");
		}
		else
		{
			System.out.println("The Index Position of " + num + " = " + result);

		}
	}
	
	public static int lnSea(int arr[], int num)
	{
		for(int i = 0; i < arr.length; i++) 
		{
			if(arr[i] == num) 
			{
				return i;
			}
		}
		return -1;
	}
}
Please Enter the size = 6
Enter 6 elements = 22 30 45 80 90 120
Please Enter Number to find =  90
The Index Position of 90 = 4