Contents
선택정렬 연습선택정렬 연습
5, 8, 2, 4, 3 (N)
final i = 0 (해당 위치 변경), p = 0 (교환 인덱스)
5,8 (0,1)
5,2 (0,2) p = 2
2,4 (2,3)
2,3 (3,4)
if(i!=p) 2, 8, 5, 4, 3 (i, p 교환)
final i = 1 (해당 위치 변경), p = 1 (교환 인덱스)
8,5 (1,2) p = 2
5,4 (2,3) p = 3
4,3 (3,4) p = 4
if(i!=p) 2, 3, 5, 4, 8
final i = 2 (해당 위치 변경), p = 2 (교환 인덱스)
5,4 (2,3) p = 3
4,8 (3,4)
if(i!=p) 2, 3, 4, 5, 8
final i = 3 (해당 위치 변경), p = 3 (교환 인덱스)
5,8 (3,4)
if(i!=p) X
1회전


~ 과정이 더 중요!!
2회전
public class SelectedEx01 {
public static void main(String[] args) {
int[] arr = {5,8,2,4,3};
final int N = arr.length;
int rep;
int min;
//1회전
rep = 0; //0
min = rep; //0
for(int i =rep +1; i< N; i++){
if(arr[min] > arr[i]){ //5,8,2,4,3 // i = 1
min=i;
}
}
if(rep !=min){
int temp = arr[rep];
arr[rep] = arr[min];
arr[min] = temp;
}
//2회전
rep = 1;
min = rep;
for(int i =rep +1; i< N; i++){
if(arr[min] > arr[i]){
min=i;
}
}
if(rep !=min){
int temp = arr[rep];
arr[rep] = arr[min];
arr[min] = temp;
}
//3회전
rep = 2;
min = rep;
for(int i =rep +1; i< N; i++){
if(arr[min] > arr[i]){
min=i;
}
}
if(rep !=min){
int temp = arr[rep];
arr[rep] = arr[min];
arr[min] = temp;
}
} // end main
}
선택정렬 코드
public class SelectedEx01 {
public static void main(String[] args) {
int[] arr = {5,8,2,4,3};
final int N = arr.length;
int rep;
int min;
for(int j=0; j< N-1; j++){
//1회전
rep = j; //0
min = rep; //0
for(int i =rep +1; i< N; i++){
if(arr[min] > arr[i]){ //5,8,2,4,3 // i = 1
min=i;
}
}
if(rep !=min){
int temp = arr[rep];
arr[rep] = arr[min];
arr[min] = temp;
}
}
} // end main
}

변수에 사용 x ex) int min_index이렇게 사용 x
master(브랜치)_master 깨끗이 관리

연습하는 코드는 commit하고 나서
(수정 중이면 commit 하고 하기.)
트리를 바꿀 거면 깨끗한 상태로 하기.
* git status 현재 보고 있는 화면이 변경이 없을 때 사용.

* branch생성

* git 확인

현재 마스터에 있는 것
* git checkout test : 브랜치 이동


다시 마스터로 돌아가고 싶을 때는 commit을 하고 가야 함.

master로 돌아감




Share article