/*삽입 정렬은 동작 방식은 매우 간단하다.
우선 첫번째 원소 arr[0]를 '정렬이 되었다.' 라고 본다.
그 뒤 인덱스를 하나 증가시킨 후 원소를 비교하게 되는데 만약 arr[1]의 원소가 arr[0]의 원소보다 작다면 swap 과정이 일어나고
다시 arr[0],arr[1]는 '정렬되었다.' 라고 본뒤 인덱스를 하나 증가시키며 이러한 과정을 배열의 마지막 원소까지 반복하면 정렬이 된다.
*/
public class Insertsorting {
public static void main(String[] args) {
int arr [ ]={9, 7, 5, 3,11,2,14};
for (int i =0; i<7; i++){
//System.out.print(arr [i]);
for (int j =i+1 ; j<7 ; j++){// insert sorting 은 비교 기준이 2번째 부터 시작한다
if(arr[i]>arr[j]){
int tmp=0;
tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
// 3인덱스와 2인덱스를 비교해서 3인덱스가 작은경우
// 2인덱스에 3인덱스꺼를 넣어주고
if(i >= 1){
if(arr[i-1]>arr[i]){ // 3인덱스를 2인덱스 옴겼는데 2인덱스가 1인덱스보다 큰경우
int swp=0;
swp= arr[i-1];
arr[i-1]=arr[i];
arr[i]=swp;
}
}
}
}
System.out.print(arr [i]+",");
}
}
}
'Algorithm' 카테고리의 다른 글
quick sort 나누는 부분 성공 (0) | 2015.04.23 |
---|---|
Binarysearch (0) | 2015.04.22 |
merge sort의 합병 부분 (0) | 2015.04.21 |
bubble sort (0) | 2015.04.15 |
selection sort (0) | 2015.04.14 |