삽입 정렬은 자신을 기준으로 자신보다 앞에 있는 숫자들과 비교하여 자신의 자리를 찾아 넣는 알고리즘이다.
package algorithms.basicsort;
import java.util.ArrayList;
import java.util.Collections;
public class InsertionSort {
public ArrayList<Integer> sort(ArrayList<Integer> dataList) {
for (int index = 0; index < dataList.size() - 1; index ++) {
for (int index2 = index + 1; index2 > 0; index2 --) {
if (dataList.get(index2) < dataList.get(index2 - 1)) {
Collections.swap(dataList, index2, index2 - 1);
}
else {
break;
}
}
}
return dataList;
}
public static void main(String[] args) {
ArrayList<Integer> testData = new ArrayList<Integer>();
for (int index = 0; index < 100; index++) {
testData.add((int)(Math.random() * 100));
}
InsertionSort insertionSort = new InsertionSort();
testData = insertionSort.sort(testData);
System.out.println(testData);
}
}
바뀔 위치 | a | a | a | 원래 위치 |
---|