Sobes.tech
Intern

Kā var sakārtot sarakstu?

sobes.tech AI

Atbilde no AI

Lai kārtotu sarakstu C++ valodā, jūs varat izmantot šādus pieejas:

  1. std::sort: Standarta bibliotēkas iteratīvais algoritms.
  2. std::list::sort: std::list kārtošanas metode, kas izmanto atsauces uz elementiem vietā iterātoru.

Salīdzinājums:

Metode Piemērojama uz Sarežģītība Papildu atmiņa Stabilitāte Īpašības
std::sort Nejauša piekļuve (piem., std::vector, std::deque) $O(N \log N)$ $O(\log N)$ (vidēji) Nes stabila std::list nav efektīva, jo lēna nejauša piekļuve.
std::list::sort std::list $O(N \log N)$ $O(1)$ Stabils Efektīva std::list, jo nevajag pārvietot elementus.

Piemērs, kā izmantot std::list::sort:

#include <list>
#include <iostream>

int main() {
    std::list<int> mana_saraksts = {5, 2, 8, 1, 9};
    
    // Augošā secībā
    mana_saraksts.sort();
    
    for (int vertiba : mana_saraksts) {
        std::cout << vertiba << " ";
    }
    std::cout << std::endl;

    // Dilstošā secībā ar salīdzinātāju
    mana_saraksts.sort([](int a, int b){ return a > b; }); 

    for (int vertiba : mana_saraksts) {
        std::cout << vertiba << " ";
    }
    std::cout << std::endl;

    return 0;
}