Sobes.tech
Intern

Siyahı necə sıralamaq olar?

sobes.tech Süni İntellekt

AI-dan cavab

C++ dilində siyahını sıralamaq üçün aşağıdakı yanaşmalardan istifadə edə bilərsiniz:

  1. std::sort: Standart kitabxanadan iterativ algoritm.
  2. std::list::sort: std::list üçün sıralama metodu, bu metod elementlərə istinadlar istifadə edir, iteratorlar deyil.

Müqayisə:

Metod Tətbiq olunur Çətinlik Əlavə yaddaş Sabitlik Xüsusiyyətlər
std::sort Təsadüfi giriş (məsələn, std::vector, std::deque) $O(N \log N)$ $O(\log N)$ (orta hesabla) Sabit deyil std::list üçün səmərəsiz, çünki yavaş təsadüfi girişə malikdir.
std::list::sort std::list $O(N \log N)$ $O(1)$ Sabit std::list üçün effektiv, çünki elementlərin köçürülməsini tələb etmir.

std::list::sort istifadə nümunəsi:

#include <list>
#include <iostream>

int main() {
    std::list<int> siyahim = {5, 2, 8, 1, 9};
    
    // Artan sıralama
    siyahim.sort();
    
    for (int dəyər : siyahim) {
        std::cout << dəyər << " ";
    }
    std::cout << std::endl;

    // Azalan sıralama, müqayisəçi istifadə edərək
    siyahim.sort([](int a, int b){ return a > b; }); 

    for (int dəyər : siyahim) {
        std::cout << dəyər << " ";
    }
    std::cout << std::endl;

    return 0;
}