버블정렬 코드
Main.class
public class Main {
public static void main(String[] args) {
// write your code here
int[] data = {6, 78, 1, 45, 3, 2, 8,11,66};
new BubbleSort(data).sort();
System.out.println(Arrays.toString(data));
}
}
BubbleSort.class
public class BubbleSort {
private int[] data;
public BubbleSort(int[] data) {
this.data = data;
}
public void sort() {
for (int i = 0; i < data.length - 1; i++) {
for (int j = 0; j < data.length - 1 - i; j++) {
if (data[j] > data[j+1]){
int tmp = data[j+1];
data[j+1] = data[j];
data[j] = tmp;
}
}
}
}
}
선택정렬
InsertionSort.class
public class SelectionSort {
private int[] data;
public SelectionSort(int[] data) {
this.data = data;
}
public void sort() {
for (int i = 0; i < data.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < data.length; j++) {
if (data[minIndex] > data[j]) {
minIndex = j;
}
System.out.println(j);
}
int tmp = data[minIndex];
data[minIndex] = data[i];
data[i] = tmp;
}
}
}
삽입정렬
InsertionSort.class
public class InsertionSort {
private int[] data;
public InsertionSort(int[] data) {
this.data = data;
}
public void sort() {
for (int i = 0; i < data.length; i++) {
int current = data[i];
int j = i - 1;
while (j >= 0 && data[j] >= current) {
data[j + 1] = data[j];
j--;
}
data[j + 1] = current;
}
}
}
'Algorithms > Basic' 카테고리의 다른 글
Stable / Unstable Sort의 차이 (0) | 2017.11.29 |
---|---|
Introduction to Algorithms (19/103) (0) | 2017.11.28 |
Introduction to Algorithms (11/103) (0) | 2017.11.27 |
Udemy 강의 (0) | 2017.11.27 |