Daily coding

Java Basic : day 5 - insertion sorting 삽입 정렬 본문

Language/Java_basic

Java Basic : day 5 - insertion sorting 삽입 정렬

sunnnkim 2019. 11. 22. 19:19

insertion sorting 삽입 정렬

4 1 8 9 3 5

// 1 <-비교
// 4   8 9 3 5
// 1 4 8 9 3 5 !

//    8<-비교
// 1 4   9 3 5
// 8<-비교
// 1 4   9 3 5
// 1 4 8 9 3 5

//      9<-비교
// 1 4 8   3 5
//    9<-비교
// 1 4 8   3 5
// 9<-비교
// 1 4 8   3 5
// 1 4 8 9 3 5

//         3<-비교   
// 1 4 8 9   5 
// 1 4 8 3 9 5 !
//      3<-비교   
// 1 4 8   9 5
// 1 4 3 8 9 5 !
//   3<-비교   
// 1 4   8 9 5 !
// 1 3 4 8 9 5
// 3<-비교   
// 1   4 8 9 5
// 1 3 4 8 9 5 

//           5<-비교
// 1 3 4 8 9   !
// 1 3 4 8 5 9
//         5<-비교
// 1 3 4 8   9 !
// 1 3 4 5 8 9
//      5<-비교
// 1 3 4   8 9
// 1 3 4 5 8 9
//   5<-비교
// 1 3 4   8 9
// 5<-비교
// 1 3 4   8 9
// 1 3 4 5 8 9

// 결과
// 1 3 4 5 8 9
        
// 선택정렬 오름차순 
int temp;
int node=0;
int arr[] = { 10,5,6,2,1,8,3 };
System.out.println("오름차순 선택정렬 전: "+ Arrays.toString(arr));
for (int i = 0; i < arr.length; i++) { // i:비교하는 기준숫자
        node=i;
        for (int j = node-1; j >= 0; j--) { // j:비교당하는 노드(바뀜)
                if(arr[j] > arr[node]) {
                        temp = arr[node];
                        arr[node] = arr[j];
                        arr[j] = temp;
                        node--;
                }
        }}
System.out.println("오름차순 선택정렬 후: "+ Arrays.toString(arr));
}
}