Adventure Time - Finn 3
본문 바로가기
JAVA/개념정리

탐색 알고리즘 - 일반 검색

by hyun9_9 2023. 11. 23.

하나씩 비교해가며 원하는 값을 찾아내는 방법을 말한다

예제로 쉽게 알아 보자

 

1~10중에 5개의 정수를 저장

그 중 2를 찾아내어 있다면 "찾았다", 2의 위치를 출력

import java.util.Random;

public class Test06 {

	public static void main(String[] args) {
		Random rand=new Random();
		int [] datas=new int [5];
		for(int i=0;i<datas.length;i++) {
			datas[i]=rand.nextInt(10)+1;
		}

		for(int data:datas) {
			System.out.println(data+ " ");
		}
		System.out.println();
		
		int key=2;//우리가 찾을 정수
		int keyIndex=-1;//우리가 찾을 정수가 존재하는 위치.index
		//검색시 초기화값은 "대상의 범위가 아닌값" 으로 해야합니다
		
		for(int i=0;i<datas.length;i++) {
			if(key==datas[i]) {
				keyIndex=i;
				System.out.println("찾았다!");
				break;//찾았으면 즉시 종료
			}
		}
		
		//System.out.println("찾는 값 "+key+"는 ["+keyIndex+"]에 있습니다");
		//조건 없이 사용하면 안되는 이유(오류이유) : 
        //keyIndex 존재하지 않을수도 있기 떄문이다(초기화가 안되어있다)
		if(keyIndex>=0) {
			System.out.println("찾는 값 "+key+"는 ["+keyIndex+"]에 있습니다");
		}
		else {
			System.out.println(key+"은 없습니다..");
		}
		
	}

}

 

'JAVA > 개념정리' 카테고리의 다른 글

삽입정렬 - 디버깅표  (1) 2023.11.28
버블 정렬  (0) 2023.11.27
Class(객체 생성)  (0) 2023.11.23
배열  (0) 2023.11.23
중첩 반복문  (1) 2023.11.22