상세 컨텐츠

본문 제목

[C] 퀵 정렬(qsort)

C++ 문법

by simstealer 2023. 1. 26. 13:10

본문

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

int CompareScore(const void* _elem1, const void* _elem2)
{
    // void 타입으로 들어오지만 사용할때는 사용하려는 타입으로 사용하여야한다.
    int* elem1 = (int*)_elem1;
    int* elem2 = (int*)_elem2;

    if (*elem1 > *elem2)
        return 1;
    else if (*elem1 < *elem2)
        return -1;
    else
        return 0;
}


int main(void)
{
    int DataSet[] = { 6, 4, 2, 3, 1, 5 };
    int Length = sizeof(DataSet) / sizeof(DataSet[0]);
    int i = 0;

    // 어떤 데이터 타입이든 처리가 가능하게 void타입으로 지정하였다.
    // qsort(데이터, 데이터의 크기, 데이터 요소의 사이즈, 데이터 수의 크기를 비교하는 함수)
    qsort((void*)DataSet, Length, sizeof(int), CompareScore);

    for (i = 0; i < Length; i++)
    {
        printf("%d", DataSet[i]);
    }

    printf("\n");

    return 0;
}

'C++ 문법' 카테고리의 다른 글

[C] 카프리카 수 구하기  (0) 2023.01.27
[C] 퀵 정렬  (0) 2023.01.26
[C] 삽입 정렬  (0) 2023.01.25
[C] 버블 소트  (0) 2023.01.25
[C++] inline 함수  (0) 2023.01.04

관련글 더보기

댓글 영역