ALG2

ALG2



112 Rozdział 5. Struktury danych

112 Rozdział 5. Struktury danych

//rekord informacyjny listy danych // struktura informacyjna


INFO info_dane; typedef struct rcb_ptr_inf // listy wskaźników l

LPTR 'głowa;

LPTR 'ogon;

// tablica kryteriów (na // rysunku jest to TAB_?TR) (omówione w tekście):


)LPTR_INFO;

LPTR_INF0 inf_ptr[n2];

II kilka prywatnych funkcji

LPTR_INFO 'odszukaj_wok(LPTR_INFC*,ELEMENT*,

int(*)(ELEMENT*,ELEMENT*));

ELEMENT *usun_wsk(LPTRJINFO*,ELEMENT*,

int;*)(ELEMENT*,ELEMENT*)); int usun__dane (ELEMENT*) ; void dcrzuc2( int,ELEMENT*,

int(‘decyzja)(ELEMENT*,ELEMENT*)); void wypiszl(LPTR_INFO‘);

);

Tajemnicze metody prywatne, podane wyżej bez żadnego opisu, zostaną szcze- I gółowo omówione w następnych paragrafach...

Analizując procedury i funkcje do obsługi list można zauważyć, że operacje odszu- I kiwania pewnego elementu wg podanego wzorca (np. „odszukaj pracownika, który i zarabia I200zl”) i wyszukiwania miejsca na wstawienie nowego elementu różniły się nieznacznie. Od tego spostrzeżenia do gotowej realizacji programowej jest już tylko jeden krok. Aby go pokonać, musimy dobrze zrozumieć zasady operowania I wskaźnikami do funkcji1 w C++, bowiem ich użycie pozwoli na eleganckie rozwiązanie kilku problemów. Zdając sobie sprawę, że wskaźniki do funkcji są relatywnie rzadko stosowane, niezbędne wydało mi się przypomnienie sposobu ich stosowania w C++. Jest to ukłon głównie w stronę programistów pascalowych, bowiem w ich ulubionym języku ten mechanizm w ogóle nie istnieje.

Przedstawiony poniżej przykład ilustruje sposób użycia wskaźników do funkcji I w C++.

wskJun.cpp I

int do_2(int a)

(

return a*a;

I

int do_4(int a)

i

return a*a*a*a;

1

Miłośnicy i znawcy języka LISP mogą opuścić ten paragraf...


Wyszukiwarka

Podobne podstrony:
ALG2 102___Rozdział 5. Struktury danych I ELEMENT *q=inf.głowa; if (pusta()) cout << "(l
ALG2 122 Rozdział 5. Struktury danych Czerniak zarabia 3000zl Wynik usunięcia rekordu pracownika za
ALG2 142 Rozdział 5. Struktury danych a ż do momentu znalezienia właściwego dlań miejsca. Popatrzmy
ALG2 162 Rozdział 5. Struktury danych c) pewien element listy, który odpowiada kryteriom poszukiwań
ALG2 132 Rozdział 5. Struktury da //"w" zostanie "załadowane" wartością zdjętą
ALG2 152 Rozdział 5. Struktury danytl 5.; raturn oblicz(w->lcwy)+oblicz(w->prawy); case - :
ALG2 22 Rozdział 1. Zanim wystartujemy programowania nic znikły bynajmniej z horyzontu: Dijkstra, H
ALG2 32 Rozdział 2. Rekurencja Wyżej podaliśmy warunki pozytywnego zakończenie programu. W przypadk
ALG2 42 Rozdział 2. Rekurencja 2. m.in. wartości zmiennych tego poziomu (tzw. kontekst). Co więcej,
ALG2 52 Rozdział 2. RekurenZad. 2-4Oto jedno z możliwych rozwiązań: trójkąty ,cpp double y) void nu
ALG2 52 Rozdział 3. Analiza sprawności algorytmów Rys. 3 -
ALG2 72 Rozdział 3. Analiza sprawności algorytmówn o) = i, i = A + O, A =    1. Po t
ALG2 172 Rozdział 6. Derekursywacja Wzmiankowany powyżej „tajemniczy sposób” nie powinien stanowić
ALG2 182    Rozdział 6. Derekursywatji 6, Jest to forma niewątpliwie równoważna, cho
ALG2 192 Rozdział 7. Algorytmy przeszukiwani; gdy maksymalna ilość elementów należących do pewnej d
79637 PrepOrg cz I2 112 Podobnie uzyskać można rozdział substancji zasadowych o rćżnym stopniu zasa
ET2 112 Rozdział 7. Podaż turystyczna turystów. Cechy walorów ma takie środowisko przyrodnicze, któ
ALG 4 94 Rozdział 5. Struktury danych5.1. Listy jednokierunkowe Lista jednokierunkowa jest oszczędną

więcej podobnych podstron