Sign in
or
Register
Courses
Textbook
Compiler
Contests
Topics
Computer Science. Textbook
C++. 동적 데이터 구조
비교기로 정렬
비교기로 정렬
벡터(배열과 유사)
sort()
함수를 사용하여 정렬할 수 있습니다. 하지만 이 함수는 기본적으로 오름차순으로 정렬합니다. 배열을 다른 순서로 정렬하려면 두 개체를 비교하여 정렬 순서를 설정하는 함수인 소위
비교자
를 사용해야 합니다. .
예
배열 요소를 오름차순으로 정렬하는 비교기의 예입니다.
bool cmp(int 먼저, int 초) { 먼저 반환 < 두번째; }
생성된 비교기를 사용하여 벡터
A
를 정렬합니다.
정렬(A.begin(), A.end(), cmp);
반복자에 대해 생각해 보세요
문제의 조건에 따라
stable
(stable) 정렬을 적용할 필요가 있음이 명백하므로 sort 대신 stable_sort를 사용해야 합니다.
정렬 함수를 호출하기 전에 생성할 수 있는 비교자로 함수 개체를 지정할 수도 있습니다.
예:
구조체
{
bool
연산자
()(
int
a,
int
b)
const
{
반환
a
<
b; } }cmp;