반응형

1. C++ sort의 속성

a.<algorithm> 헤더에 속함

b.시간복잡도 NlogN(퀵정렬 기반)

c. 메모리를 기반으로 정렬하기때문에, 배열이나 vector등에 사용할 수 있음

d. 기본적으로는 오름차순으로 설정되어 있고, 사용자가 직접 조작 할 수 있음.

2. 기초적인 C++ sort의 사용법 (백준 2750번 기반으로)

a. 기초적인 방법

sort(arr,arr+n); 배열의 오름차순 정렬(n개의 칸을 가진)
sort(v.begin(), v.end()); 벡터의 오름차순 정렬
sort(arr,arr+n,cmp); 배열의 사용자 정의 함수 정렬 (주로 구조체에서 사용)
sort(v.begin(), v.end(), cmp); 벡터의 사용자 정의 함수 정렬 (주로 구조체에서 사용)
sort(arr,arr+n, greater<자료형>()); 배열의 내림차순 정렬
sort(v.begin(), v.end(), greater<자료형>()); 벡터의 내림차순 정렬

b. 백준 2750번으로 예를 든 기초적인 배열의 정렬

c. 벡터의 정렬

1. 위 코드에 vector 헤더파일을 추가한다.

2. 입력과 출력 부분을 vector에 적합하게 고친다

3. sort(arr,arr+n)대신 sort(v.begin(), v,end())로 변경한다.

벡터의 선언과 입출력 부분의 경우 다음 링크 참조.

 

(C++) Vector 기초

1. Vector란? Vector는 배열과 deque의 장점을 모두가지고 있는 자료구조라 생각하면 편리하다. 더욱 쉽게 생각하면 크기를 마음대로 조절이 가능한 배열 이라고 생각하고 넘어가도 충분하다. ​ 장점

learncom1234.tistory.com

C++ vector 기초

1. Vector란? Vector는 배열과 deque의 장점을 모두가지고 있는 자료구조라 생각하면 편리하다. 더욱 쉽...

blog.naver.com

3. 구조체에 대한 C++ sort의 사용법(사용자 정의 함수 정렬) (백준 11650번 기반으로)

a. cmp의 구성

11650번 코드에서 사용하는 cmp, x 우선 오름차순 정렬이다.

중요한 사항

1. 함수의 반환형은 bool이고, return도 불 형태로(대체로 부등호가 유용함) 해야한다.

2. 함수의 매개변수는 정렬할 함수의 자료형인 두개의 변수이다.

3. 매개변수 두 개는 배열이나 벡터의 순서를 의미한다. (위의 예시에서는 a가 b보다 앞에있었음)

4. 리턴되는 값이 true면 순서를 바꾸지 않고, 리턴되는 값이 false면 순서를 바꾼다.

b. 코드 예시(백준 11650번)

 

반응형

+ Recent posts