Intern
Kā var sakārtot sarakstu?
sobes.tech AI
Atbilde no AI
Lai kārtotu sarakstu C++ valodā, jūs varat izmantot šādus pieejas:
- std::sort: Standarta bibliotēkas iteratīvais algoritms.
- std::list::sort:
std::listkā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;
}