삽입 정렬 알고리즘
선택한 원소의 앞이 정렬된 배열로 간주하고 그 배열에 원소를 삽입해 나아가는 정렬 알고리즘이다. 0 회전 : [ 8, 4, 10, 1 ] ◀ 초기 배열 key = 4 arr [0]은 이미 정렬되어 있다고 간주한다. 1 회전 : [ 4, 8, 10, 1 ] [ 8, 4, 10, 1 ] → [ 8, 8, 10, 1 ] [ 8, 8, 10, 1 ] → [ 8, 8, 10, 1 ] 2 회전 : [ 4, 8, 10, 1 ] [ 4, 8, 10, 1 ] → [ 4, 8, 10, 1 ] 3 회전 : [ 1, 4, 8, 10 ] ◀ 정렬 완료 [ 4, 8, 10, 1 ] → [ 4, 8, 10, 10 ] [ 4, 8, 10, 10 ] → [ 4, 8, 8, 10 ] [ 4, 8, 8, 10 ] → [ 4, 4, 8, ..
선택 정렬 알고리즘
삽입정렬 알고리즘은 배열을 n번 원소를 기준으로 순차적으로 비교를 한다. 그러다 그리고 가장 작은 원소의 인덱스를 저장하고 n번 원소와 교환을 한다. 이 작업을 반복하다 보면 정렬이 되는 알고리즘이다. 0 회전 : [ 5, 6, 3, 1 ] ◀ 초기 배열 1 회전 : [ 1, 6, 3, 5 ] 2 회전 : [ 1, 3, 6, 5 ] 4 회전 : [ 1, 2, 5, 6 ] ◀ 정렬 완료 n 개의 원소가 있으면 다음 노드와의 비교를 n - 1번 하고 최솟값을 찾은 다음 교환 이 작업을 n - 1번 반복한다. Code #include void selectSort(int arr[], int length); int main() { int arr[] = { 5, 7, 1, 2, 8, 9, 10 }; // 실행 se..