비교 횟수는 8 교환 횟수는 6이 나온다

import java.util.Scanner;
public class Main {
private static int cnt=0;//비교횟수
private static int swapcnt=0;
static void swap(int[]arr,int a1,int a2) {
int t =arr[a1];
arr[a1]=arr[a2];
arr[a2]=t;
}
static void insertionSort(int []arr) {
for(int i=1;i<arr.length;i++) {
int j;
int tmp = arr[i];
for(j=i;j>0 &&arr[j-1]>tmp;j--) {
arr[j]=arr[j-1];
cnt++;
}
arr[j]=tmp;swapcnt++;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int []arr = new int[] {6,4,3,7,1,9,8} ;
for(int i=0;i<arr.length;i++) {
System.out.println("정렬전:"+arr[i]);
}
System.out.println("-------------------");
insertionSort(arr);
for(int i=0;i<arr.length;i++) {
System.out.println("정렬후:"+arr[i]);
}
System.out.println(swapcnt+", "+cnt);
}
}
'Java' 카테고리의 다른 글
Stack : 제네릭 미사용 (0) | 2022.07.18 |
---|---|
정렬 알고리즘 : 셸 정렬 (0) | 2022.07.18 |
정렬 알고리즘 : 단순 선택 정렬 (0) | 2022.07.18 |
정렬 알고리즘 : 버블정렬 (0) | 2022.07.18 |
급여관리프로그램 (0) | 2022.07.15 |