Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Free Pascal - Sortowanie przez łączenie

Blagden 16 Cze 2012 02:05 1160 2
  • #1 16 Cze 2012 02:05
    Blagden
    Poziom 2  

    Witam! Mam za zadanie - Przygotować implementację sortowania przez łączenie z użyciem 3 kolejek. Napisałem taki programik i mam cały czas problemy z tym sortowaniem, nie daje rady tego napisać, próbowałem już kilka razy i nic z tego :(
    Prosiłbym o pomoc, jakieś wskazówki itp. Kod programu wygląda następująco:

    Kod: pascal
    Zaloguj się, aby zobaczyć kod

    0 2
  • #3 16 Cze 2012 22:52
    Blagden
    Poziom 2  

    1)Podział ciągu a na połowy b i c
    2)Łączenie ciągów b i c, składając pojedyncze ich elementy w pary uporządkowane
    3)Połączony ciąg nazywamy a i powtarzamy kroki 1 i 2, tyle że łączymy pary uporządkowane w czwórki uporządkowane
    4)Powtarzamy poprzednie kroki, łącząc w ósemki, i dalej tak samo, podwajamy za każdym razem długość łączonych podciągów dopóki cały ciąg nie będzie uporządkowany

    np.
    a:4 5 1 2 8 3 7 9

    b:4 5 1 2
    c:8 3 7 9

    a:4 8' 3 5' 1 7' 2 9

    b:4 8' 3 5
    c:1 7' 2 9

    a:1 4 7 8' 2 3 5 9

    b:1 4 7 8
    c:2 3 5 9

    a: 1 2 3 4 5 7 8 9

    Coś w tym stylu, mam nadzieje że się nie pomyliłem.

    0
  Szukaj w 5mln produktów