C_C++/C_라이브러리_함수

(C언어) qsort 함수를 이용한 문자열 정렬하기

enjoy-country-life 2022. 10. 3. 10:04
반응형
void qsort(
   void *base,
   size_t number,
   size_t width,
   int (__cdecl *compare )(const void *, const void *)
);

qsort 함수는 빠른 정렬을 수행합니다. 

 

base

대상 배열의 시작 부분입니다.

 

number
배열의 크기입니다.

 

width
요소 크기(바이트)입니다.

 

compare
두 배열 요소를 비교하여 해당 관계를 지정하는 값을 반환하는 사용자가 제공한 루틴에 대한 포인터입니다.

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

int compare(const void* arg1, const void* arg2);

int main(int argc, char** argv)
{
    int i;

    char* str[] = { "every", "favor", "boy", "good", "deserve" };
    int size = 5;

    /* Sort remaining args using Quicksort algorithm: */
    qsort((void*)str, 5, sizeof(char*), compare);

    /* Output sorted list: */
    for (i = 0; i < size; ++i)
        printf(" %s", str[i]);
    printf("\n");
}

int compare(const void* arg1, const void* arg2)
{
    /* Compare all of both strings: */
    return _stricmp(*(char**)arg1, *(char**)arg2);
}

빠른 정렬을 수행합니다. 

(Output)

(C언어) qsort 함수를 이용한 문자열 정렬하기

 

 

 

반응형