작성
·
263
0
강사님의 강의를 듣기 전
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for(int i =0; i < n ; i++){
arr[i] = kb.nextInt();
}
int a;
for(int i = 1; i< n; i++){
a = i;
for(int j = i-1; j >= 0; j--){
if(arr[a] < arr[j]){
int tmp = arr[j];
arr[j] = arr[a];
arr[a] = tmp;
}
a--;
}
}
for(int i =0; i < n ; i++){
System.out.print(arr[i] + " ");
}
}
}
이렇게 코드를 짰었는데 제가 짠 코드도 삽입정렬이라 할 수 있는
것 인가요?
답변 1
0
위 문제에 이어서 추가적으로 복습을 하던 중 위에 코드와 다르게 다시 짜보았을 때
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int input = kb.nextInt();
int[] arr = new int[input];
for(int i =0; i < input ; i++){
arr[i] = kb.nextInt();
}
int tmp;
for(int i =1; i < input; i++){
tmp = arr[i];
for(int j = i-1; j >= 0; j--){
if(arr[j] > tmp){
arr[j+1] = arr[j];
}
else
break;
arr[j] = tmp;
}
}
for(int i =0; i < input; i++){
System.out.print(arr[i] + " ");
}
}
}
이렇게 짜서 arr[j+1]에 대입하는 것이 아닌 arr[j]에다 대입
하였는데 상관없나요??
두 코드 다 리뷰 부탁드립니다 ㅠㅠ