본문 바로가기

반응형

Insertion Sort

(2)
[LinkedList] Insertion Sort (삽입정렬) 배열을 이용한 삽입정렬은 쉽게 구현할 수가 있다. Index를 이용해서 값들을 옮기기 쉽기 때문이다. 그런데... 단일 링크드 리스트에서 삽입정렬은... 처음에는 상당히 난감했다... key값을 3개를 가지고 비교값도 3개를 가지고 했었다.... key앞,key,key뒤 이렇게 3개를 가지는것이다.... 하지만... 실패 ^^; 실패의 원인은 key에 대해 잘못 이해하고 있었음; 두번째 시도에서는 그림을 그려서 해보았음. 오랜 시간의 삽질이 있었지만.. 결국 성공했다... 하지만.. 이게 최적일까 -_-; 아무튼 생각하기 위해 그린 그림을 완성후 다시 정리하여 그려 보았습니다.
삽입정렬 (Insertion Sort) 오늘 배운 삽입정렬이다. InsertionSort.class 가 삽입정렬 클래스 입니다. sort_test.class 는 정렬 테스트를 위한 메인함수가 있는 클래스 입니다. 다른 정렬도 배우는 대로 추가할까 합니다. 멤버변수 data는 배열인데... 오타네요;; int data[] 이게 맞아요; 생성자와 정렬메소드를 제외하고는 외부에서 쓸필요가 없으므로 private로 접근제한 하였습니다. 생성자 함수로 정렬할 배열값을 입력하고 sort() 메소드를 호출하므로써 모든 과정이 끝납니다. sort() 는 정렬된 배열을 리턴합니다. 수업시간에 예제로 나온 숫자들로 테스트 하였습니다. 다른 숫자는 테스트안해봐서... 정확성을 뭐라 말할 수가 없네요;; 9 1 3 2 7 5 4 8

반응형