study/java
5_Java_배열, 버블정렬
스파이크12
2019. 11. 2. 09:42
int[] arr = {2, 1, 3};
-> 1 2 3
int temp = arr[0];
arr[0] = arr[1];
arr[1] = temp;
(사람이 하는방식)
정렬 알고리즘에서 가장 간단하고 기본이 되는 알고리즘
ex) 카드게임 패 순서대로 정리
1. 비교주체를 정하는 for문
2. 비교대상을 정하는 for문
3. if문에 정렬기준정함
4. 출력
//1. 비교 주체를 정하는 for문
for(int i=1; i<arr.length; i++) {
// 2. 비교 대상을 정하는 for문
for(int j=0; j<1; j++) {
// 비교를 통해서 오름차순 정렬
// 비교 주체가 비교 대상보다 작을경우 값 교환
if(arr[j] > arr[i]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
버블정렬
인접한 두개의 요소를 검사하여 정렬하는 방법
뒤에서 부터 정렬이 되어지는 것이 특징
1. 한회차당 내부에 있는 for문이 반복할 회수 지정
2. 지정된 회수만큼 반복하며
j번째 인덱스요소와 j+1번째 요소를 비교하여 정렬
3. if문에 정렬기준정함
for(int i = arr.length -1; i>0; i--) {
//1 . 한 회차당 내부에 있는 for문이 반복할 회수 지정;
for(int j=0; j<i; j++) {
//2. 지정된 회수만큼 반복하며
// j번째 인덱스 요소와 j+1번째 요소를 비교하여 정렬
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
count++;
}
}
}
배열 복사
얕은복사 , 깊은복사
배열의 증가
배열의 특징
같은자료형,(크기증가 안좋아)
일정한 이름으로 취급가능