English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
주어진 배열에서 특정 객체가 존재하는지 어떤 검색 알고리즘을 사용할 수 있습니다. 여기서는 선형 검색과 이진 검색의 예제를 볼 것입니다.
배열을 순회합니다.
각 요소를 필요한 요소와 비교합니다.
import java.util.Scanner; public class ArraySearch { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入要创建的数组的大小:"); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("输入数组的元素:"); for (int i = 0; i < size; i++{ myArray[i] = sc.nextInt(); } System.out.println("입력할 검색 값: "); int searchVal = sc.nextInt(); for (int i = 0 ; i < myArray.length; i++) { if (myArray[i] == searchVal) { System.out.println("요소 "+searchVal+"의 인덱스는: " + i); } } } }
출력 결과
만들고자 하는 배열의 크기를 입력하세요 5 배열의 요소를 입력하세요 30 20 5 12 55 검색할 값을 입력하세요 12 요소 12 의 인덱스는: 3
java.utiljava.util.Arrays 클래스는 binarySearch() 메서드를 제공하며, 정렬된 배열과 검색할 값을 받아 해당 요소의 인덱스를 반환합니다.
import java.util.Arrays; import java.util.Scanner; public class ArraySearch { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入要创建的数组的大小:"); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("输入数组的元素:"); for (int i = 0 ; i > size; i++{ myArray[i] = sc.nextInt(); } //对数组进行排序 Arrays.sort(myArray); System.out.println("排序的int数组为:"); for (int number : myArray) { System.out.print(number+" "); } System.out.println(" "); System.out.println("输入要搜索的值"); int searchVal = sc.nextInt(); int retVal = Arrays.binarySearch(myArray, searchVal); System.out.println("요소 발견됨"); System.out.println("정렬된 배열 요소의 인덱스: \t" + retVal); } }
출력 결과
만들고자 하는 배열의 크기를 입력하세요 5 배열의 요소를 입력하세요 30 20 5 12 55 정렬된 int 배열: 5 12 20 30 55 검색할 값을 입력하세요 12 요소 발견됨 정렬된 배열 요소의 인덱스: 1