ALG6
116 Rozdział 5. Struktury danych
Iisla2.li
int alfabetycznie(ELEMENT *q],ELEMENT *q2)
{
II czy rekordy ql i q2 są uporządkowane alfabetycznie? return (ul temp(ql->nazwisko,q2->nazwisko)>=0);
I
int wq_zarobkow(ELEMENT *ql,ELEMENT *q2)
\
// czy rekordy ql i q2 sa uporządkowane wg zarobków? return (ql->zarobek>-’q2->zarobck) ;
) int equall(ELEMENT -ql,ELEMENT łq2)
(
// czy rekordy ql i q2 uiają identyczne nazwiska? return (stremp(ql->nazwiskc,q2->nazwisko)==0) ;
I
int equal2(ELEMENT *ql,ELEMENT *q2>
(
II czy rekordy ql i q2 mają identyczne zarobki? return(ql->zarcbe)c==q2->zarobek);
)
Dwie pierwsze funkcje z powyższej listy służą do porządkowania listy, pozostałe ułatwiają proces wyszukiwania elementów. Oczywiście, w rzeczywistej aplikacji bazy danych o pracownikach analogiczne funkcje byłyby nieco bardziej skomplikowane - wszystko zależy od tego, jakie kryteria poszukiwa-nia/porządkowania zamierzamy zaprogramować oraz jak skomplikowane struktury danych wchodzą w grę.
Po tak rozbudowanych wyjaśnieniach działanie funkcji odszukaj_wsk nie powinno stanowić już dla nikogo tajemnicy.
Na stronie *>7 mieliśmy okazję zapoznać się z funkcją/msto informującą, czy lista danych coś zawiera. Nic nie stoi na przeszkodzie, aby do kompletu dołożyć jej kolejną wersję, badającą w analogiczny sposób listę wskaźników:
inline int pusta (I,PTR_rNFO *inf) f
return (inf->qlowa==NULL) ;
)
Ponieważ użyliśmy dwukrotnie tej samej nazwy funkcji, nastąpiło w tym momencie jej przeciążenie: podczas wykonywania programu właściwa jej wersja zostanie wybrana w zależności od typu parametru, z. którym zostanie wywołana (wskaźnik do struktury INFO lub wskaźnik do struktury LPTR INFO).
Wyszukiwarka
Podobne podstrony:
ALG 6 96 Rozdział 5. Struktury danych Rys. 5 - 3. FCOOh FCI4h FFEEh Przykład listy jedno-kierunkALG6 126 Rozdział 5. Struktury danych Rys. 5 - 12. Metoda„ tablic równoległych " (2) DANE L2ALG 4 94 Rozdział 5. Struktury danych5.1. Listy jednokierunkowe Lista jednokierunkowa jest oszczędnąALG 8 98 Rozdział 5. Struktury danych W następnych paragrafach zostaną przedstawione wszystkie metodALG2 102___Rozdział 5. Struktury danych I ELEMENT *q=inf.głowa; if (pusta()) cout << "(lALG4 104 Rozdział 5, Struktury danych dla danego obiektu wykonanie na sobie operacji „dekrementacjiALG6 106 Rozdziała. Strukturydanjt 5.1 będzie ich fuzją. Rekurencyjny zapis tego procesu jest bardzALG8 108__Rozdział 5. Struktury danych5.1.3.Listy jednokierunkowe - teoria i rzeczywistość Oprócz pALG0 110 Rozdział 5. Struktury danych Rysunek 5-9 zawiera już kilka nowości w porównaniu z tym, coALG2 112 Rozdział 5. Struktury danych 112 Rozdział 5. Struktury danych //rekord informacyjny listyALG4 114 Rozdział 5. Struktury danych stan—ZAKOŃCZ; else { przcd=po; po=po->nastepny; I RóżnicaALG8 118 Rozdział 5. Struktury danych if(pŁzed==NULL) // wstawiamy na początek listy ( inf_ptr[nr].ALG0 120 Rozdział 5. Struktury danych i if (pos!=q) rsturn(O); II element nieAlg0 120 Rozdział 5. Struktury danych i if (pos!=q) rsturn(O); II element nieALG2 122 Rozdział 5. Struktury danych Czerniak zarabia 3000zl Wynik usunięcia rekordu pracownika zaALG4 124 Rozdział 5. Struktury danych Co jednak z dołączaniem elementów do listy? Poniżej są omówioALG0 130 Rozdział 5. Struktury danych Symboliczny stos znajdujący się pod każdą z sześciu grup instALG6 136 Rozdział 5. Struktury danycł forfint i=0; i<4;i+~) kolejka.wstaw(tab[i)); for(i=0;więcej podobnych podstron