선택 정렬은 가장 작은 값을 선택하여 진행하는 방식이다.
private void selectionSort(int[] list) {
int indexMin = 0;
int temp = 0;
for (int i = 0; i < list.length - 1; i++) {
indexMin = i;
for (int j = i + 1; j < list.length; j++) {
if (list[j] < list[indexMin]) {
indexMin = j;
}
}
temp = list[indexMin];
list[indexMin] = list[i];
list[i] = temp;
}
}
삽입 정렬은 알맞은 위치에 삽입하여 진행하는 방식이다.
private void insertionSort(int[] list) {
int temp = 0;
int aux = 0;
for (int index = 1; index < list.length; index++) {
temp = list[index];
aux = index - 1;
while ((aux >= 0) && (list[aux] > temp)) {
list[aux + 1] = list[aux];
aux--;
}
list[aux + 1] = temp;
}
}
거품 정렬은 이웃한 것끼리 거품처럼 진행하는 방식이다.
private void bubbleSort(int[] list) {
int temp = 0;
for (int i = 0; i < list.length - 1; i++) {
for (int j = 1; j < list.length - i; j++) {
if (list[j] < list[j - 1]) {
temp = list[j - 1];
list[j - 1] = list[j];
list[j] = temp;
}
}
}
}