вторник, 18 марта 2025 г.

Быстрая сортировка в С++

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <algorithm>

using namespace std;

bool fcm(int a, int b){
    return abs(a)%10<abs(b)%10; //сортировка по последней цифре
}

int main(){
    srand(time(0));
    int n;
    cin >> n;
    int A[n];
    for (int i=0; i<n; i++){
        A[i]=rand()%100-50; //[-50;50)
        cout<<A[i]<<" ";
    }
    cout<<endl;
    
    sort(A,A+n,fcm);
    
    for (int i=0; i<n; i++){ 
        cout<<A[i]<<" ";
    }
    cout<<endl;
    return 0;
}
====================================
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool fcm(string a, string b){
    return a.size()<b.size() || (a.size()==b.size() && a<b); // сортировка по длине слова
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    srand(time(0));
    int n;
    cin >> n;
    vector <string> A(n);  //***
    for (int i=0; i<n; i++){
       cin>>A[i];
    }
    cout<<endl;

    sort(A.begin(),A.end(),fcm); //****
    for (int i=0; i<n; i++){
        cout<<A[i]<<"\n";
    }
    cout<<endl;
    return 0;
}

Комментариев нет :

Отправить комментарий