습관처럼

C++ - Quick Sort (feat Algorithm qsort()) 본문

Language/C++

C++ - Quick Sort (feat Algorithm qsort())

dev.wookii 2020. 6. 23. 17:12

이번에는 sort 보다 실행속도가 더 빠른 qsort에 대해 알아보도록 하겠습니다~.

C ++의 qsort () 함수는 Quicksort 알고리즘을 사용하여 지정된 배열을 오름차순으로 정렬합니다. 이 기능은<cstdlib> 헤더 파일에 정의되어 있습니다. qsort () 함수는 다음과 같이 지정된 배열을 정렬합니다. 

 

qsort() Prototype: qsort(array, num, type_size, compare_function)

void qsort (void* basesize_t numsize_t sizeint (*compare)(const void*,const void*));

Example : How qsort() function works?

#include <iostream>
#include <cstdlib>
using namespace std;

int compare(const void* a, const void* b)
{
	const int* x = (int*) a;
	const int* y = (int*) b;

	if (*x > *y)
		return 1;
	else if (*x < *y)
		return -1;

	return 0;
}

int main()
{
	const int num = 10;
	int arr[num] = {9,4,19,2,7,9,5,15,23,3};

	cout << "Before sorting" << endl;
	for (int i=0; i<num; i++)
		cout << arr[i] << " ";

	qsort(arr,num,sizeof(int),compare);
	cout << endl << endl;
	cout << "After sorting" << endl;

	for (int i=0; i<num; i++)
		cout << arr[i] << " ";

	return 0;
}

When you run the program, the output will be:

Before sorting
9 4 19 2 7 9 5 15 23 3
After sorting
2 3 4 5 7 9 9 15 19 23

출처: www.programiz.com/cpp-programming/library-function/cstdlib/qsort

'Language > C++' 카테고리의 다른 글

C++ - 문자 및 문자열 찾기  (0) 2020.06.27
C++ - Stack, Queue  (0) 2020.06.23
C++ - 중복제거  (0) 2020.06.23
C++ - 조합 및 순열  (0) 2020.06.23
C++ - String 클래스, 문자열 총정리  (0) 2020.06.19