본문 바로가기
PROGRAMMING CODE/C

[BAEKJOON] No.2751 C언어

by daye_ 2021. 10. 19.

수 정렬하기 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