선택정렬 연습

이소연's avatar
Aug 03, 2024
선택정렬 연습

선택정렬 연습

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회전
notion image
notion image
~ 과정이 더 중요!!
 
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 }
notion image
변수에 사용 x ex) int min_index이렇게 사용 x
 
 
💡
master(브랜치)_master 깨끗이 관리
notion image
연습하는 코드는 commit하고 나서
(수정 중이면 commit 하고 하기.)
트리를 바꿀 거면 깨끗한 상태로 하기.
* git status 현재 보고 있는 화면이 변경이 없을 때 사용.
notion image
 
* branch생성
notion image
* git 확인
notion image
현재 마스터에 있는 것
 
* git checkout test : 브랜치 이동
notion image
notion image
다시 마스터로 돌아가고 싶을 때는 commit을 하고 가야 함.
 
notion image
master로 돌아감
 
notion image
notion image
notion image
notion image
Share article