Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 내림차순으로 벡터 정렬

<시간/>

C++에서 벡터 정렬은 std::sort()를 사용하여 수행할 수 있습니다. 헤더에 정의되어 있습니다. 안정적인 정렬을 얻으려면 std::stable_sort가 사용됩니다. sort()와 정확히 같지만 동일한 요소의 상대적 순서를 유지합니다. 요구 사항에 따라 Quicksort(), mergesort()도 사용할 수 있습니다.

벡터를 내림차순으로 정렬하려면 std::greater <>()를 사용하여 수행할 수 있습니다.

알고리즘

Begin
   Declare v of vector type.
      Initialize some values into v in array pattern.
   Print “Elements before sorting”.
   for (const auto &i: v)
      print all the values of variable i.
   Print “Elements after sorting”.
   Call sort(v.begin(), v.end(), greater <>()) function to sort all the
   elements in descending order of v vector.
   for (const auto &i: v)
      print all the values of variable i.
End.

다음은 C++에서 벡터를 정렬하는 간단한 예입니다.

예시

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
   vector<int> v = { 10, 9, 8, 6, 7, 2, 5, 1 };
   cout<<"Elements before sorting"<<endl;
   for (const auto &i: v)
      cout << i << ' '<<endl;
      cout<<"Elements after sorting"<<endl;
      sort(v.begin(), v.end(), greater <>());
   for (const auto &i: v)
      cout << i << ' '<<endl;
   return 0;
}

출력

Elements before sorting
10
9
8
6
7
2
5
1
Elements after sorting
10
9
8
7
6
5
2
1