선택정렬 연습

이소연'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

Coding's note