logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[C++] Jak zaimplementować sortowanie listy jednokierunkowej w C++?

BartekWB 21 Sty 2012 19:29 5704 3
REKLAMA
  • #1 10429178
    BartekWB
    Poziom 27  
    Posty: 1162
    Pomógł: 7
    Ocena: 25
    Mam problem z wykonaniem sortowania listy jednokierunkowej, za każdym razem gdy próbuje to wykonać, wychodzę gdzieś poza obszar zarezerwowany dla listy. Zresztą mam problem z wykonaniem jakiegokolwiek sortowania na wskaźnikach, nie mogę się w tym odnaleźć. Czy możecie podpowiedzieć jak wykonać najłatwiejsze sortowanie na wskaźnikach?


    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 10429511
    Krzysztof Gustaw
    Poziom 23  
    Posty: 392
    Pomógł: 76
    Ocena: 32
    Witam!
    Proponuję sortowanie przez proste wybieranie:

    1 - znajdź największy element
    2 - zdejmij go z listy i zapamiętaj "gdzieś na boku" oraz zapamietaj miejsce skąd był zdjęty
    3 - połącz rozerwaną listę (w końcu wybrany element został zabrany i zrobiła się luka)
    4 - wstaw zapamiętany element na początek listy
    5 - znajdź największy element z pozostałych
    6 - jeśli lista nie wyczerpana, przejdź do kroku 2.

    Nie jest to szybki algorytm, ale ma tę zaletę, że jest prosty.
  • REKLAMA
  • #3 10430271
    walek33
    Poziom 29  
    Posty: 1015
    Pomógł: 132
    Ocena: 81
    Tu masz nieco o liście. Może Ci pomoże.
  • #4 10464141
    BartekWB
    Poziom 27  
    Posty: 1162
    Pomógł: 7
    Ocena: 25
    Dzięki Panowie, zrobiłem to w nieco innej konwencji. Sortowanie odbywa się od razu przy wstawianiu obiektu do listy.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Pięknie działa rekurencyjnie.
REKLAMA