문제: 1,10,5,8,7,6,4,3,2,9를 오름차순으로 정렬해라. 1. n번째 배열의 숫자를 선택 2. n + 1번째 배열을 n번째와 비교 후 n번째가 더 크면 swap 3. 이 로직을 n부터 n--를 해가며 정렬한다. *버블 정렬이 0번째부터 정렬하는 것이라면, 삽입 정렬은 n번째 부터 정렬하는 것이다. _ 1 _ 10 _ 5 -> 10(n번째)을 5(n + 1)과 비교했을 시 swap -> _ 1 _5 10 결국, 맨 앞의 숫자는 차례대로 정렬이 될 것이기 때문에 n번째의 숫자는 맨 앞까지 비교를 안해도 되게 된다. #include void main() { int i, j, temp; int array[10] = { 1,10,5,8,7,6,4,3,2,9 }; //정렬 for (i = 0; i < ..

전체 글
문제: 1, 10, 5, 8, 7, 6, 4, 3, 2, 9를 오름차순으로 정렬해라. 1. 가장 앞에 있는 값과 바로 그 다음의 값을 비교하여 큰 것을 뒤로 보낸다. 2. 결국 맨 뒤는 가장 큰 값이 놓이게 된다. 3. 이 로직을 가장 큰 값이 놓이게 된 맨 뒤의 숫자를 빼는 방식으로 반복한다. #include void main() { int i, j, temp; int array[10] = { 1,10,5,8,7,6,4,3,2,9 }; //버블 정렬 for (i = 0; i array[j + 1]) { temp = array[j]; array[j] = array[j + 1]; array[j + 1] ..
문제 : 1, 10, 5, 8, 7, 6, 4, 3, 2, 9의 숫자가 있다. 이를 오름차순으로 정렬해라. 1. 배열 0번째부터 시작 2. 0~10까지의 숫자 중 가장 작은 수를 탐색 후 그 위치를 index에 기억(선택, 탐색) 3. 가장 앞에 가장 작은 수 array[index]를 넣는다.(swap) #include #include void main() { int i, j, min, index, temp; int array[10] = { 1,10,5,8,7,6,4,3,2,9 }; for (i = 0; i array[j]) { min = array[j]; index = j; } } /..