수 정렬하기 2
병합정렬이랑 힙정렬이 있는데, 어려우니 언어 내장 함수를 쓰라고했다!
씨언어 정렬 내장함수는 'qsort'
qsort 함수원형
void qsort(void* base, size_t new, size_t width, int(*compar)(const void *,const void *))
base - 배열이름
new - 배열크기
width - 요소 하나 크기
compar은 두 요소를 비교하기위한 함수 포인터
//compar((void*)&num1, (void*)&num2);
return값 < 0 - num1>num2
0 - num1=num2
0 < return값 - num1<num2
#include <stdio.h>
int compare(const void* a, const void* b){
return (*(int*)a)-(*(int*)b); //void포인터를 int포인터로 변환 뒤 역참조
}
int main(){
int n;
scanf("%d",&n);
int *arr;
arr = (int*)malloc(sizeof(int)*n); //동적배열
for(int i=0; i<n; i++) scanf("%d",&arr[i]);
qsort(arr,n,sizeof(int),compare); //씨언어 내장함수
for(int i=0; i<n; i++) printf("%d\n",arr[i]);
return 0;
}
'PROGRAMMING CODE > C' 카테고리의 다른 글
[BAEKJOON] No.2108 C언어 (0) | 2021.10.19 |
---|---|
[BAEKJOON] No.10989 C언어 (0) | 2021.10.19 |
[BAEKJOON] No.2750 C언어 (0) | 2021.10.19 |
[BAEKJOON] No.2231 C언어 (0) | 2021.10.19 |
[BAEKJOON] No.2798 C언어 (0) | 2021.10.19 |