셸 정렬
삽입정렬을 보완한 알고리즘. 삽입정렬 장 - 어느정도 정렬 된 배열은 넘어가며 빠르게 완성 단 - 이웃한 위치로만 이동하기에 가야할 위치가 멀면 많은 이동을 해야함(오래걸림) 1.배열을 일정한 기준으로 분류함. (위 사진의 경우는 간격 3) 2.부분 배열을 생성 3.각 부분배열을 삽입정렬로 정렬 4.부분 정렬 완료 후 배열을 더 적은 수의 부분배열로 만들고 반복한다. 5.부분리스트가 1개가 되면 완성 간격 초깃값은 배열크기/2 로 한다. 생성된 부분배열은 간격값과 같음. 회전마다 간격을 절반으로 한다. 간격은 홀수로 하는게 좋고 짝수가 된다면 +1 #define _CRT_SECURE_NO_WARNINGS #include #include void insert(int a[], int first, int la..
ㅇㅇ
2022. 7. 27. 22:07