package algorithm.sort.insertion;
import algorithm.sort.Sort;
public class InsertionSort extends Sort {
public InsertionSort(int[] arr) {
super(arr);
}
protected void sort() {
for (int i = 1; i < arr.length; i++) {
int a = 0;
while ((i - a) > 0) {
if (arr[i - a] < arr[i - a - 1]) {
int temp = arr[i - a];
arr[i - a] = arr[i - a - 1];
arr[i - a - 1] = temp;
a++;
} else {
break;
}
}
}
}
}
----------------------
복잡하고, 이해가 바로 되지 않는다. 바꿔보자..
추상클래스 추가..
---------------------------
package algorithm.sort.insertion;
import algorithm.sort.Sort;
public class InsertionSort extends Sort {
public InsertionSort(int[] arr) {
super(arr);
}
protected void sort() {
for (int i = 1; i < arr.length; i++) {
int a = 0;
int num = i - a;
while (num > 0) {
increaseSearchTime();
if (arr[num] < arr[num - 1]) {
swap(num, num - 1);
a++;
num = i - a;
} else {
break;
}
}
}
}
}
'ALGORITHM' 카테고리의 다른 글
QUICK SORT (0) | 2011.04.16 |
---|---|
BUBBLE SORT, INSERTION SORT TEST (0) | 2011.04.14 |
정렬 관련 추상클래스 만들어보기. (0) | 2011.04.14 |
BUBBLE SORT (0) | 2011.04.14 |
BINARY TREE (0) | 2011.04.12 |