1. sort 함수란?
sort()는 배열이나 벡터 같은 자료를 정렬할 때 사용하는 함수이다.
C++에서는 <algorithm> 헤더에 포함되어 있다.
#include<algorithm>
2. 기본 문법
sort(시작위치, 끝위치);
예시:
sort(v.begin(),v.end());
v.begin()부터 v.end() 전까지 정렬한다. (오름차순)
3. 오름차순 정렬
작은 값 -> 큰 값 순서로 정렬된다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v = {5, 2, 8, 1, 3};
sort(v.begin(), v.end());
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
return 0;
}
출력:
12358
4. 내림차순 정렬
큰 값 -> 작은 값 순서로 정렬하려면 greater<int>()를 사용한다.
sort(v.begin(),v.end(),greater<int>());
전체 예시:
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
int main() {
vector<int> v = {5, 2, 8, 1, 3};
sort(v.begin(), v.end(), greater<int>());
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
return 0;
}
출력:
85321
5. 배열 정렬
배열도 정렬할 수 있다.
intarr[5] = {5,2,8,1,3};
sort(arr,arr+5);
전체 예시:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[5] = {5, 2, 8, 1, 3};
sort(arr, arr + 5); // arr = 시작주소 => arr[0]~arr[4] 까지 정렬
for (int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
return 0;
}
*sort(arr, arr + 5);은 arr+5 까지 정렬하는게 아니다 arr[0]~arr[4]까지 정렬 의미
출력:
12358
6. 문자열 정렬
문자열도 정렬 가능하다.
strings ="dcba";
sort(s.begin(),s.end());
예시:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s = "dcba";
sort(s.begin(), s.end());
cout << s;
return 0;
}
출력:
abcd
내림차순:
sort(s.begin(),s.end(),greater<char>());
출력:
dcba
최종정리
sort()는 코딩테스트에서 정말 자주 사용되는 함수이다.
핵심은 아래 3가지다.
sort(v.begin(),v.end());// 오름차순
sort(v.begin(),v.end(),greater<int>());// 내림차순
sort(arr,arr+n);// 배열 정렬 단, arr[0]~arr[n-1]까지 정렬'언어 문법정리 > c++' 카테고리의 다른 글
| [C++] 문자열 -> 숫자 변환 함수 정리 (stoi, stof, stol, stod) (1) | 2026.05.02 |
|---|---|
| [C++] 문자형태의 '숫자' -> 정수 숫자로 바꾸기 (’7’ → 7) (0) | 2026.05.02 |
| [C++] endl과 \n 차이점 (feat.백준 274) (0) | 2026.04.30 |
| [C++] erase() 함수 정 및 사용법 (0) | 2026.04.27 |
| [C++] using namespace std; 의 의미와 사용 이유 (0) | 2026.04.27 |
