Sobes.tech
Intern

Bir liste nasıl sıralanabilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

C++ dilinde listeyi sıralamak için aşağıdaki yaklaşımları kullanabilirsiniz:

  1. std::sort: Standart kütüphaneden yinelemeli algoritma.
  2. std::list::sort: std::list için sıralama yöntemi, öğelere referanslar kullanır, iteratorlar değil.

Karşılaştırma:

Yöntem Uygulanabilir Karmaşıklık Ek hafıza Kararlılık Özellikler
std::sort Rastgele erişim (örneğin, std::vector, std::deque) $O(N \log N)$ $O(\log N)$ (ortalama) Kararsız std::list için verimsiz, çünkü yavaş rastgele erişim nedeniyle.
std::list::sort std::list $O(N \log N)$ $O(1)$ Kararlı std::list için etkilidir, çünkü öğelerin taşınmasını gerektirmez.

std::list::sort kullanımına örnek:

#include <list>
#include <iostream>

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

    // Azalan sıralama, karşılaştırıcı kullanarak
    benim_liste.sort([](int a, int b){ return a > b; }); 

    for (int deger : benim_liste) {
        std::cout << deger << " ";
    }
    std::cout << std::endl;

    return 0;
}