Seung's Learning Record

[ C++ ] 정렬 함수 sort 본문

프로그래밍/C++

[ C++ ] 정렬 함수 sort

70_0ewd 2023. 10. 30. 01:20

정렬을 아주 쉽게 도와주는 sort()함수는 <algorithm>헤더를 include 하여 사용할 수 있다. sort()함수는 C++ STL에서 제공하는 함수로써 각종 알고리즘 문제를 풀 때 자주 활용하는데 이 함수의 시간 복잡도는 nlogn이다.

#include <iostream> 
#include <algorithm>
// sort()함수를 사용하기 위해 <algorithm>을 include 한다. 

using namespace std; 

int main(void){ 
  int arr[5] = {3, 5, 9, 7, 8}; 
  
  // 첫번째 인자 = 배열의 포인터
  // 두번째 인자 = 배열의 포인터 + 배열의 크기
  sort(arr, arr+5); 

  //출력
  for(int i=0; i<5; i++){
    cout << arr[i] << ' '; 
  } 
  return 0; 
}

sort()는 sort(begin, end)꼴로 사용한다. 이때 범위는 begin <= arr < end이기 때문에 시작값에 배열의 크기를 더해주는 형태로 작성하는 것이다. sort함수는 기본 오름차순 정렬이며 내림차순으로 정렬을 원할시에는 sort(arr,arr+5, desc); 처럼 사용하면 된다.


번외 내용이긴 하지만 정렬이 필요 없이 최소,최대값만 필요한 경우에는 min,max 함수를 사용하면 된다.

int min_value = min({a,b,c,d});
int max_value = max({a,b,c,d});

min,max 함수 역시 algorithm 헤더를 추가하는 것 잊지말자!

배열의 경우에는 아래와 같이 사용하면 된다.

#include <algorithm>
int arr[10];
int min_value = *min_element(arr,arr+10);
int max_value = *max_element(arr,arr+10);

'프로그래밍 > C++' 카테고리의 다른 글

[ C++ ] range based for문, 범위 기반 반복문  (0) 2023.11.01
[ C++ ] 배열과 vector  (0) 2023.10.31
[ C++ ] 함수 (Function)  (0) 2023.10.29
[ C++ ] 조건문  (1) 2023.10.28
[ C++ ] 표준 입출력  (0) 2023.10.28