Wpisany przez Michał Knasiecki,
12 sierpnia 2005 22:57
Scalanie ciągów polega na łączeniu posortowanych ciągów w jeden ciąg posortowany. Ciągi scala się parami, poczynając od pierwszych dwóch. Ustawiamy liczniki obu ciągów na 1 (co wskazuje na pierwszy element ciągu). Sprawdzamy, który z elementów jest mniejszy i ten element przenosimy do ciągu wynikowego, a licznik ciągu, którego element był mniejszy zwiększamy o 1. Następnie sprawdzamy kolejne elementy wskazywane przez liczniki i robimy to tak długo aż liczniki będą wskazywać na ostatnie elementu swojego ciągu. Gdy tak się stanie, w ciągu wynikowym będziemy mieli scalone dwa ciągi o liczbie wyrazów będącej sumą elementów ciągów scalanych. Po scaleniu dwóch pierwszych ciągów scalamy ciąg wynikowy i trzeci. Po tej operacji w ciągu wynikowym będziemy mieli scalone 3 pierwsze ciągi. Następnie scalamy ciąg wynikowy z ciągiem 4 itd...
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Marian | C/C++ | C++ | .cpp | .cpp | ***** / 9 |
Michał Knasiecki | Delphi/Pascal | Borland Delphi 5 | .pas | .pas | ***** / 1 |
Dominik Goździuk | Java | .java | .java | ***** / 4 | |
Jakub Konieczny | Python | .py | .py | ***** / 3 |
Poprawiony: 27 maja 2011 08:46