728x90
DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 5
C언어로 쉽게 풀어쓴 자료구조
9장 Exercise 문제다.
필자가 학교 다니면서 자료구조론 수업을 들었는데,
과제로 제출했던 것들이고,
난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.
자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다.
23. 제일 작은 값을 선택하는 선택 정렬 알고리즘을 제일 큰 값을 선택하도록 변경하라. 정수 배열은 여전히 오름차순으로 정렬되어야 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #include <stdio.h> #include <stdlib.h> #define SWAP(a,b) {int t; t=a; a=b; b=t;} void SelectionSort(int list[], int n) { int maxidx; for (int i = n - 1; i >= 0; i--) { maxidx = i; for (int j = 0; j < i; j++) if (list[maxidx] < list[j]) maxidx = j; SWAP(list[i], list[maxidx]); } } void PrintArray(int list[], int n) { for (int i = 0; i < n; i++) printf("%d ", list[i]); printf("\n"); } int main(void) { int n; int* ar; printf("배열의 크기 : "); scanf_s("%d", &n); printf("배열 내용 입력 : "); ar = (int*)malloc(sizeof(int)*n); for (int i = 0; i < n; i++) { scanf_s("%d", &ar[i]); } printf("정렬 이전 배열의 내용 : "); PrintArray(ar, n); SelectionSort(ar, n); printf("정렬 이후 배열의 내용 : "); PrintArray(ar, n); free(ar); } | cs |
728x90
'Computer Science > Data Structure, Algorithm' 카테고리의 다른 글
Algorithm] 동적계획법 - 연속 행렬 곱셈 (0) | 2017.05.24 |
---|---|
DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 6 (0) | 2017.05.21 |
DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 4 (0) | 2017.05.20 |
DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 3 (0) | 2017.05.20 |
DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 2 (0) | 2017.05.19 |