728x90
반응형
public static void main(String[] args) {
int[] array = {2,3,6,1,5,7,4};
SelectSort(array);
System.out.println();
InsertSort(array);
System.out.println();
BubbleSort(array);
}
/*1. 선택정렬
* 맨 앞의 데이터와 나머지 데이터를 비교 후 최소값을 맨 앞의 데이터와 교체
맨 앞을 제외한 다음 데이터부터 다시 동일하게 진행
위 내용을 반복
* */
public static void SelectSort(int[] array) {
for(int i=0;i<array.length;i++) {
for(int j=i+1;j<array.length;j++) {
if(array[i]>array[j]) {
int temp = array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
printArray(array);
}
/*2. 삽입정렬
* 두 번째 인덱스부터 시작
해당 data 앞 데이터부터 비교, 첫 데이터 까지 비교 반복
더 작은 데이터를 만나면 서로 변경
* */
public static void InsertSort(int[] array) {
for(int i=1;i<array.length;i++) {
for(int j=0;j<i;j++) {
if(array[j]>array[i]) {
int temp = array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
printArray(array);
}
/*
*3. 버블 정렬
* 앞에서부터 2개의 데이터를 비교하여 작은 데이터가 앞으로 가도록 정렬
* */
public static void BubbleSort(int[] array) {
for(int i=0;i<array.length;i++) {
for(int j=i;j<array.length-1;j++) {
if(array[j]>array[j+1]) {
int temp = array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
}
printArray(array);
}
// 배열 출력함수
public static void printArray(int[] array) {
for(int i=0;i<array.length;i++) {
System.out.print(array[i]+" ");
}
}
}
728x90
반응형
'👩🏻💻Technical things > Algorithm' 카테고리의 다른 글
02. 기본 자료구조 (0) | 2020.08.17 |
---|---|
01. 기본 알고리즘 (1) | 2020.08.16 |
자료구조 : STACK (0) | 2020.08.11 |