programming/c

qsort()

chanchand 2023. 10. 1. 14:19
반응형

qsort()

C표준 라이브러리에 포함되어 있는 퀵 소트 기반 정렬 함수

 

void qsort(void *base, size_t num, size_t size, int (*compar)(const void *, const void *));

base : 정렬할 배열 또는 시작주소를 가리키는 포인터

num : 배열 요소 개수

size : 각 요소의 크기, ex) sizeof(int)

compar : 비교 함수 포인터

 

#include <stdio.h>
#include <stdlib.h>

int compare(const void* a, const void* b) {
    int int_a = *((int*)a);
    int int_b = *((int*)b);
	
    // 오름차순 : int_a - int_b;
    // 내림차순 : int_b - int_a;
    return int_a - int_b;
}


int solution(int array[], size_t array_len) {    
    qsort(array, array_len, sizeof(int), compare);
}

 

반응형

'programming > c' 카테고리의 다른 글

[CodeUp] 1079-1092 (ing)  (0) 2023.09.28
배열 길이  (0) 2023.04.17
[BAEKJOON] 알고리즘 수업 - 병합 정렬 1(24060)  (0) 2023.01.14
합병정렬(merge sort)  (0) 2023.01.14
error: variable-sized object may not be initialized  (0) 2023.01.14