[C++] vector / sort
1. vector란?
-> c++ 표준 라이브러리(STL)에 있는 컨테이너.
-> 동적으로 원소 추가가 가능하며, 크기가 자동으로 늘어남.
=> stack과 비슷한데 기능이 훠어어얼씬 많다 ! ! ! !
2. vector 사용법
🧐기본
-front() : 첫 번째 원소
-begin() : 첫 번째 위치
-back() : 마지막 원소
-end() : 마지막 다음의 위치
-size() : 원소의 갯수
-capacity() : 할당된 공간의 크기
vector<int> a;
for (int i = 0; i < 10; i++) {
a.push_back(i);
}
cout<<a.front()<<'\n'; //0
cout << a.back() << '\n'; //9
for (int i = 0; i < 10; i++) cout << a[i] << " "; //0 1 2 3 4 5 6 7 8 9
이 모든 설명은
vector를 사용하면서 sort기능도 같이 사용하라는 의미..✨
(사실 stl에서 sort기능 제공해주는걸 처음 안사람..배열에서도 sort쓸 수 있어효)
🧐sort
-> < algorithm >헤더 파일에 속해있다.
-> 아주 편리하다 !!!!!!!!!!!! 야너두 정렬 따로 구현하지마 .. ..
1. sort(배열의 시작점 주소, 마지막 주소, 함수)
*함수 : 해당 함수의 반환 값에 맞게 정렬을 진행
-sort는 기본적으로 오름차순 정렬을 수행함
-세 번째 인자가 들어갈 자리는 필수가 아님 !
(내림차순이나 그 외의 조건으로 정렬을 하고싶은 경우 사용)
-첫 번째 원소를 기준으로 정렬함.
ex) 25 min / 22 so / 23 jin 인 경우
22 so / 23 jin / 25 min으로 정렬된다는 의미
-퀵정렬을 기반으로 함수가 구현되어, 평균 시간복잡도는 O(nlogn).
2.stable_sort(배열의 시작점 주소, 마지막 주소, 함수)
위의 sort와 쓰는 방법은 똑같다.
-위의 sort와 다르게 merge sort로 구현되어있음.
-원소가 같은 경우 컨테이너의 원소 순서대로 정렬된다.
ex) 5 1 / 4 4 / 4 2 인 경우
4 4 / 4 2 / 5 1 로 정렬된다는 의미.
연관된 백준 문제- 11650, 11651, 10814
https://www.acmicpc.net/problem/11650
Author And Source
이 문제에 관하여([C++] vector / sort), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@513sojin/C-vector-sort저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)