공부하시는대에 도움이 됐으면 좋겠습니다.
답안코드 확인해주세요!
더보기
public class Main
{
public static void main(String[] args)
{
int[] b = {7, 5, 11, 2, 16, 4, 18, 14, 12, 30};
System.out.println("삽입정렬 전 : ");
int i;
for (i = 0; i < b.length; ++i)
System.out.print(b[i] + " ");
System.out.println();
Main.sort(b);
System.out.println("삽입정렬 후 : ");
for (i = 0; i < b.length; ++i)
System.out.print(b[i] + " ");
System.out.println();
}
public static void sort(int[] a)
{
int[] temp = new int[a.length];
int sizeOfTemp = 0;
int next;
int insertIndex;
temp[0] = a[0];
sizeOfTemp++;
for(int i = 1; i < a.length; ++i)
{
next = a[i];
insertIndex = findInsertIndex(next, temp, sizeOfTemp);
++sizeOfTemp;
moveElements(insertIndex, temp, sizeOfTemp);
temp[insertIndex] = next;
}
for(int i = 0; i < a.length; ++i)
a[i] = temp[i];
}
private static int findInsertIndex(int value, int[] array, int tempSize)
{
int i;
for( i = 0; i <tempSize; ++i)
{
if(value < array[i])
return(i);
}
return(i);
}
private static void moveElements(int lowIndex, int[] array, int highIndex)
{
for(int i = highIndex - 1; i > lowIndex; --i)
array[i] = array[i-1]; // Move element down one place
}
}
더 많은 자바코드가 보고 싶다면?
https://chuinggun.tistory.com/category/%EC%9E%90%EB%B0%94/%EC%9E%90%EB%B0%94
'자바 > 자바' 카테고리의 다른 글
[자바] 재귀함수 중첩함수를 이용하여 팩토리얼 factorial을 계산하는 프로그램을 작성하시오 (0) | 2023.01.01 |
---|---|
[자바] 십진수를 입력받고 몇 개의 자릿수 인지 중첩함수 재귀함수를 이용하여 나타내는 프로그램을 작성하라 (0) | 2023.01.01 |
[자바] bubblesort 버블정렬을 실행하는 프로그램을 작성하시오 (0) | 2022.12.31 |
[자바] 세 변수를 사용자로부터 입력받고 가장 작은 값(최저값)을 출력하는 프로그램을 작성하시오 (0) | 2022.12.31 |
[자바] 키와 몸무게를 입력받고 저체중 과체중 표준을 구분하여 출력하는 프로그램을 작성하시오 (0) | 2022.12.31 |
댓글