본문 바로가기
Develop/Ps

[C++] STL sort함수 사용법

by J-rain 2023. 7. 18.

sort() 함수 사용하는 방법

#include <iostream>
#include <algorithm>  // STL 라이브러리 -> sort() 함수가 정의되어있음

using namespace std;

bool compare(int a, int b) {   // 비교 함수
	return a > b;   // 정렬 기준 : 내림차순 정렬
}

int main(void) {

	int a[10] = { 9, 3, 5, 4, 1, 10, 8, 6, 7, 2 };
	sort(a, a + 10);  // a -> 메모리 주소, a + 10 -> 정렬할 마지막 주소가 있는 메모리 주소
	sort(a, a + 10, compare);  // 추가로 함수를 넣어주면 원하는 정렬 기준으로 정렬을 할 수 있다.
//	=> 9 ~ 2 까지의 주소를 정렬한다는 사실을 나타냄

	for (int i = 0; i < 10; i++)
		cout << a[i] << ' ';
}

sort() 함수는 C++의 algorithm 헤더에 포함되어 있고 기본적으로 오름차순으로 정렬을 수행한다.

기본적으로 사용하는 방법으론

sort(name, num) 으로 name은 해당 배열의 메모리 주소이고, num은 정렬할 마지막 주소가 있는 메모리 주소를 나타낸다.

=> sort(a, a+10)

sort(name, num, compare) compare은 원하는 정렬의 기준을 정의하여 그 기준으로 sort를 정렬한다.

=> sort(a, a+10, compare)

 

하지만 더쉽게 내림차순하는 방법은 아래와 같다.

sort(v.begin(), v.end(), greater<>());

'Develop > Ps' 카테고리의 다른 글

[C++] STL vector 사용법  (0) 2023.07.18
[C++] STL pair 사용법  (0) 2023.07.18
[C++] STL 스택(stack) 사용법  (0) 2023.04.13
[CS/C++] STL 덱(Deque) 사용법  (0) 2023.04.12
[CS/C++] STL 큐(Queue) 사용법  (0) 2023.04.11

댓글