Java中的查找算法之順序查找(Sequential Search)
a) 原理:順序查找就是按順序從頭到尾依次往下查找,找到數據,則提前結束查找,找不到便一直查找下去,直到數據最后一位。
b) 圖例說明: 原始數據:int[] a={4,6,2,8,1,9,0,3}; 要查找數字:8
找到數組中存在數據8,返回位置。
代碼演示:
import java.util.Scanner; /* * 順序查找 */ public class SequelSearch { public static void main(String[] arg) { int[] a={4,6,2,8,1,9,0,3}; Scanner input=new Scanner(System.in); System.out.println("請輸入你要查找的數:"); //存放控制台輸入的語句 int num=input.nextInt();
//調用searc()方法,將返回值保存在result中 int result=search(a, num); if(result==-1){ System.out.println("你輸入的數不存在與數組中。"); } else System.out.println("你輸入的數字存在,在數組中的位置是第:"+(result+1)+"個"); }
//順序排序算法 public static int search(int[] a, int num) { for(int i = 0; i < a.length; i++) { if(a[i] == num){//如果數據存在 return i;//返回數據所在的下標,也就是位置 } } return -1;//不存在的話返回-1 } }
運行截圖: