Problem

1/11

Sắp xếp véc tơ: Bắt đầu

Theory Click to read/hide

Sắp xếp bằng bộ so sánh
Một vectơ (giống như một mảng)  có thể được sắp xếp bằng hàm sort(). Nhưng hàm này sắp xếp theo thứ tự tăng dần theo mặc định. Để sắp xếp một mảng theo một thứ tự khác, bạn cần sử dụng cái gọi là bộ so sánh  - một hàm thiết lập thứ tự sắp xếp bằng cách so sánh hai đối tượng .
 
Ví dụ
Một ví dụ về bộ so sánh sắp xếp các phần tử của một mảng theo thứ tự tăng dần. bool cmp(int thứ nhất, int thứ hai) { quay lại đầu tiên < thứ hai; }
và sắp xếp vectơ A bằng bộ so sánh đã tạo: sắp xếp(A.begin(), A.end(), cmp); Nghĩ về trình vòng lặp

Problem

Bạn được cung cấp một dãy số nguyên. Viết chương trình tạo và sắp xếp một mảng theo thứ tự giảm dần.
 
Đầu vào
Số đầu tiên N — số phần tử trong mảng (1<=N<=100). Sau đó, các số N được viết cách nhau bằng dấu cách -  phần tử của mảng. Mảng bao gồm các số nguyên.
 
Đầu ra
Cần xuất ra một mảng được sắp xếp theo thứ tự giảm dần.
 
Ví dụ
<đầu>
# Đầu vào Đầu ra
1 5
4 56 23 67 100
100 67 56 23 4
Write the program below
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;


bool cmp(int first, int second) {      
}

int main() {


int N;

cin >> N;
vector<int> A (N);


    for(int i = 0; i < N; i++)
        cin>>A[i];
		        
    sort(A.begin(), A.end(), cmp );

    for(int i = 0;i< N; i ++)
      cout<<A[i]<<" ";

    
}      

     

Program check result

To check the solution of the problem, you need to register or log in!