-
1. 버블정렬(BubbleSort)
ㅇㅇㅇㅇㄴ
2. 선택정렬(SelectionSort)
import java.util.Arrays; import java.util.Random; public class ArraySelectionSort { public static void main(String[] args) { // 1~100사이 난수를 10개 가진 배열 생성 Random random = new Random(); int data[] = new int[10]; for(int idx=0; idx<data.length; idx++) { data[idx] = random.nextInt(100)+1; } String arrTxt = Arrays.toString(data); System.out.println("===정렬전==="); System.out.println(arrTxt); // 선택정렬 for(int i=0; i<data.length-1; i++) { // i=1,2,3... for(int j=i+1; j<data.length; j++) { // 1,2 & 1,3 & 1,4 ... 비교 if(data[i] > data[j]) { int temp = data[i]; data[i] = data[j]; data[j] = temp; } } } // 정렬후 배열 출력 System.out.println("===정렬후==="); System.out.println(Arrays.toString(data)); } }
Arrays.toString(data) 를 활용하면 출력할때
System.out.println( ) 만 해도 [5, 16, 19, 22, 24, 38, 74, 74, 80, 80] 형식으로 출력 가능
원래는
for(int i:data){
System.out.print(i + "\t")
}
이렇게 출력해야함
3. 삽입정렬
1부터 n까지 Index를 설정하여 현재위치보다 아래쪽을 순회하며 현재위치의 값을 현재위치보다 아래쪽으로 순회하며 알맞은 위치에 넣어주는 정렬알고리즘
public class InsertionSort { public static void main(String[] args) { Random random = new Random(); int data[] = new int[10]; for(int i=0; i<data.length; i++) { data[i] = random.nextInt(100) +1; } System.out.println("정렬전=" + Arrays.toString(data)); // 정렬의 기준점이 되는 인덱스 int k; for(int i=1; i<data.length; i++) { int tmp = data[i]; // 11 for(k=i-1; k>=0 && tmp<data[k]; k--) { // tmp<data[k] 조건이 만족되면 굳이 그 앞을 실행하지 않아도 되므로.. data[k+1] = data[k]; } data[k+1] = tmp; } System.out.println("정렬후=" + Arrays.toString(data)); } }
'Java' 카테고리의 다른 글
객체지향 퀴즈 (0) 2021.11.24 객체지향프로그래밍 (자바의정석) (0) 2021.11.22 배열 (0) 2021.11.22 do-while문 (0) 2021.11.22 for문/while문/switch문 (0) 2021.11.21