'Arrays'에 해당되는 글 3건
- 2019.06.23 :: [JAVA] 배열 이진 탐색 알고리즘 Arrays.binarySearch()
- 2019.06.23 :: [JAVA] 특정범위 배열복사 Arrays.copyOfRange()
- 2019.06.23 :: [JAVA] 배열복사 Arrays.copyOf() 함수
이진 탐색이란 오름차순으로 정렬되어 있는 배열에서 특정한 값의 위치를 찾아내는 알고리즘이다.
배열의 중간에 있는 임의의 값을 선택하여, 그 값과 찾고자 하는 값의 크고 작음을 비교하여, 중간 값보다 작으면 좌측의 데이터들을 대상으로, 중간 값보다 크면 우측의 데이터를 대상으로 다시 탐색하여, 해당 값을 찾을 때까지 이 과정을 반복한다.
오름차순으로 정렬된 리스트에서만 사용 가능한 단점이 있지만, 속도가 빠르다는 장점이 있다.
오름차순으로 정렬하는 방법
https://sno-machinelearning.tistory.com/16
Arrays.binarySearch(배열 이름, 찾고자 하는 값);
[예제 결과]
[예제 코드]
import java.util.*;
public class Solution {
private static int[] arr = {5,7,6,1,3,9,0,12,100};
public static void main(String[] args) {
Arrays.sort(arr);
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+"\t");
}
System.out.println();
int a = Arrays.binarySearch(arr, 6);
int b = Arrays.binarySearch(arr, 12);
System.out.print("배열에서의 6과 12의 위치 : ");
System.out.println(a +", "+ b);
}
}
'JAVA > 자바' 카테고리의 다른 글
미니프로젝트 - MVC2패턴으로 홈페이지 재구성하기 (0) | 2019.11.06 |
---|---|
[JAVA] 특정범위 배열복사 Arrays.copyOfRange() (0) | 2019.06.23 |
[JAVA] 배열복사 Arrays.copyOf() 함수 (0) | 2019.06.23 |
[JAVA]오름차순 내림차순 정렬 Arrays.sort() (0) | 2019.06.20 |
객체 지향 프로그래밍 (0) | 2019.06.20 |
Arrays.copyOfRange() 는 특정 배열의 원하는 범위만큼 복사하여 새로운 배열을 만드는 메소드함수입니다.
새로운 배열 = Arrays.copyOfRange(원본 배열,복사하려는 시작 요소의 인덱스,복사하려는 마지막 요소의 인덱스의 바로 다음 인덱스)
[예제 결과물]
[예제 코드]
import java.util.*;
public class Solution {
private static int[] arr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
public static void main(String[] args) {
int[] arr1 = Arrays.copyOfRange(arr, 2,6);
System.out.print("arr의 요소 중 인덱스2에서 5까지 불러오기 : ");
for(int i=0;i<arr1.length;i++) {
System.out.print(arr1[i]+" ");
}
}
}
'JAVA > 자바' 카테고리의 다른 글
미니프로젝트 - MVC2패턴으로 홈페이지 재구성하기 (0) | 2019.11.06 |
---|---|
[JAVA] 배열 이진 탐색 알고리즘 Arrays.binarySearch() (0) | 2019.06.23 |
[JAVA] 배열복사 Arrays.copyOf() 함수 (0) | 2019.06.23 |
[JAVA]오름차순 내림차순 정렬 Arrays.sort() (0) | 2019.06.20 |
객체 지향 프로그래밍 (0) | 2019.06.20 |
Arrays.copyOf()는 특정 배열의 원하는 길이만큼 새로운 배열로 복사하는 메소드 함수입니다.
새로운 배열 = Arrays.copyof(원본 배열, 원본 배열에서 복사하고 싶은 요소들의 길이); 식으로 사용됩니다.
[예제 결과물]
[예제 코드]
import java.util.*;
public class Solution {
private static int[] arr = {1, 2, 3, 4, 5};
public static void main(String[] args) {
int[] arr1 = Arrays.copyOf(arr, 2);
int[] arr2 = Arrays.copyOf(arr, 7);
System.out.print("arr의 요소중 2개 불러오기 : ");
for(int i=0;i<arr1.length;i++) {
System.out.print(arr1[i]+" ");
}
System.out.println();
System.out.print("arr의 요소중 7개 불러오기 : ");
for(int i=0;i<arr2.length;i++) {
System.out.print(arr2[i]+" ");
}
}
}
'JAVA > 자바' 카테고리의 다른 글
[JAVA] 배열 이진 탐색 알고리즘 Arrays.binarySearch() (0) | 2019.06.23 |
---|---|
[JAVA] 특정범위 배열복사 Arrays.copyOfRange() (0) | 2019.06.23 |
[JAVA]오름차순 내림차순 정렬 Arrays.sort() (0) | 2019.06.20 |
객체 지향 프로그래밍 (0) | 2019.06.20 |
[JAVA]대소문자 변환 (0) | 2019.06.19 |