ALG0

ALG0



110 Rozdział 5. Struktury danych

Rysunek 5-9 zawiera już kilka nowości w porównaniu z tym, co mieliśmy okazję do tej pory poznać.

Tablica TABPTR zawiera rekordy informacyjne (tzn. wskaźniki głowa i ogon) do list złożonych z adresów rekordów z listy DANE - w naszym przypadku zakładamy 3 listy wskaźników i będą one oczywiście zawierać adresy adrl, adrl i adr3 (chwilowo na liście znajdują się trzy elementy; w miarę dokładania nowych elementów do listy DANE będą ulegały odpowiedniemu wzrostowi listy wskaźników).


Rys. 5 - 9. Sortowanie listy bez przemieszczania jej elementów (2).

lista TAB PTR

Rozmiar tablicy TAB PTR jest równy liczbie kryteriów' sortowania: patrząc od góry możemy zauważyć, że listy są posortowane kolejno wg nazwiska, kodu i zarobków.

Podsumujmy informacje, które można odczytać z rysunków' 5 - 8 i 5 - 9:

•    nieposortowana baza danych, która jest zapamiętana w liście o nazwie DANE, zawiera w danym momencie 3 rekordy;

•    tablica wskaźników TABPTR zawiera 3 rekordy informacyjne (poznane już poprzednio), których pola głowa i ogon umożliwiają dostęp do trzech list wskaźników-. Każda z tych list jest posortowana wg innego kryterium sortowania.

Przykładowo lista wskazywana przez TAB_PTR[0] jest posortowana alfabetycznie wg nazwisk pracowników (Fuks, Kowalski i Zaremba), analogicznie TAB_PTR[I| klasyfikuje pracowników wg pewnego kodu używanego w tej fabryce (Zaremba, Fuks i Kowalski), podobnie TAB_PTR[2] grupuje pracowników wg ich zarobków.

Poniżej jest przedstawiona nowa wersja klasy LISTA, uwzględniająca już propozycje przedstawione na rysunku 5-8. Aby umożliwić sensowną prezentację w postaci programu przykładowego, pewnemu uproszczeniu uległa struktura danych zawierająca informacje o pracowniku: ograniczymy się tylko do nazwuska


Wyszukiwarka

Podobne podstrony:
ALG0 120 Rozdział 5. Struktury danych i if (pos!=q) rsturn(O);    II element nie
Alg0 120 Rozdział 5. Struktury danych i if (pos!=q) rsturn(O);    II element nie
ALG0 130 Rozdział 5. Struktury danych Symboliczny stos znajdujący się pod każdą z sześciu grup inst
ALG0 140 Rozdział 5. Struktury danych porządek. Czy czasem owa procedura nie jest na tyle kosztowna
ALG 4 94 Rozdział 5. Struktury danych5.1. Listy jednokierunkowe Lista jednokierunkowa jest oszczędną
ALG 6 96 Rozdział 5. Struktury danych Rys. 5 - 3. FCOOh FCI4h FFEEh Przykład listy jedno-kierunk
ALG 8 98 Rozdział 5. Struktury danych W następnych paragrafach zostaną przedstawione wszystkie metod
ALG0 100 Rozdział 5. Struktury danyi z tych przypadków w istniejącej liście trzeba znaleźć miejsce
ALG2 102___Rozdział 5. Struktury danych I ELEMENT *q=inf.głowa; if (pusta()) cout << "(l
ALG4 104 Rozdział 5, Struktury danych dla danego obiektu wykonanie na sobie operacji „dekrementacji
ALG8 108__Rozdział 5. Struktury danych5.1.3.Listy jednokierunkowe - teoria i rzeczywistość Oprócz p
ALG2 112 Rozdział 5. Struktury danych 112 Rozdział 5. Struktury danych //rekord informacyjny listy
ALG4 114 Rozdział 5. Struktury danych stan—ZAKOŃCZ; else { przcd=po; po=po->nastepny; I Różnica
ALG6 116 Rozdział 5. Struktury danych Iisla2.li int alfabetycznie(ELEMENT *q],ELEMENT *q2) { II czy
ALG8 118 Rozdział 5. Struktury danych if(pŁzed==NULL) // wstawiamy na początek listy ( inf_ptr[nr].
ALG2 122 Rozdział 5. Struktury danych Czerniak zarabia 3000zl Wynik usunięcia rekordu pracownika za
ALG4 124 Rozdział 5. Struktury danych Co jednak z dołączaniem elementów do listy? Poniżej są omówio
ALG6 126 Rozdział 5. Struktury danych Rys. 5 - 12. Metoda„ tablic równoległych " (2) DANE L2
ALG8 138 Rozdział 5. Struktury danych • „prawy” potomek /-tego węzła jest „schowany” pod indeksem 2

więcej podobnych podstron