ALG1

ALG1



5.1 Listy jednokierunkowe 101

5.1 Listy jednokierunkowe 101


ELEMENT Aprzed=NULL,*po=inf.głowa; enum I SZUKAJ, ZAKOŃCZ} stan=SZUKAJ;

//zmienna wyliczeniowa while f(stan==SZUKAJ) && (po! =NTJT.r.) ) if <po->wartosc>=x)

stan=ZAKONCZ; //znaleźliśmy właściwe miejsce! else // przemieszczamy sie w poszukiwaniach { fi właściwego miejsca przcd-po;    // wskaźniki "przed" i "po"

po=po->nastepny;// zapamiętają "miejsce"

// wstawiania

}    fi analiza rezultatu poszukiwali:

if(przed==NULL) //wstawiamy na początek listy

{

inf.gicwa=q; q->nastepny=po;

)

gIsg

if(po==NULL) // wstawiamy na koniec listy i

inf.ogon->nastepny=q; q->nastepny=NULL; inf.ogon=q;

}

else // wstawiamy gdzieś "w środku"

{

przed->nascepny=q; q->nastepny=po;

}

ł

}

Kolejne ważne, choć skrajnie nieskomplikowane metody są niemalże identyczne koncepcyjnie. W celu znalezienia w liście pewnego elementu x należy przejrzeć ją za pomocą zwykłej pętli while:

int LISTA::szukaj(int x)

(

ELEMENT *q=int.głowa; while (q != NULL)

(

if (q->wartosc==x) return (1); q=q->nastepny;

)

return(0) ;

Identyczną strukturę posiada metoda wypisz służąca do wypisywania zawartości listy:

void LISTA::wypisz()


Wyszukiwarka

Podobne podstrony:
ALG1 5.1. Listy jednokierunkowe 111 i zarobków. (Rozbudowa tych struktur danych nie wniosłaby konce
ALG1 5.1 Listy jednokierunkowe 121 } cout << "

ALG 5 5.1 Listy jednokierunkowe 95 w tej książce dla uproszczenia operuje się głównie wartościami ty
ALG 7 5.1. Listy jednokierunkowe 97 public: int pusta()    // czy lista jest pusta? {
ALG 9 5.1. Listy jednokierunkowe 99 stawałby się on wówczas automatycznie głową listy i musiałby zos
ALG3 5.1 Listy jednokierunkowe 103 noprawny obiekt - może aktywować dowolną metodę swojej klasy, cz
ALG5 5.1 Listy jednokierunkowe 105 Na rysunku 5-7 możemy przykładowo prześledzić jak powinna być wy
ALG7 5.1. Listy jednokierunkowe 107 cout « "L2 = for (i=0; i<n; 12.dorzuc2(tab2[i++])) ; 12
ALG9 5,1. Listy jednokierunkowe 109 Poruszony powyżej problem był na tyle charakterystyczny dla wie
ALG3 5.1 Listy jednokierunkowe 113 int wzor(int x,int(*fun)(int!) [ return fun(x); ) void main(} i
ALG5 5.1. Listy jednokierunkowe 115 I res->gIowa=przed; res->oqon=pos; return (ras) ; } 1 •
ALG7 5.1. Listy jednokierunkowe 117 Mając już komplet funkcji pusta, zestaw funkcji decyzyjnych i u
ALG9 5.1. Listy jednokierunkowe 119 wartość zwracaną przez funkcję: w normalnej sytuacji winien to
Zad 1. Napisz funkcję, która dodaje elementy do listy jednokierunkowej. Jeżeli element istnieje, ele
Slajd29 (101) Współczynnik załamania <jn k - — v Po rozwiązaniu tych równań ze względu na n i k o
Pionier85 3 tif Odbiornik radiofoniczny RE-101 Pionier 85 Pierwszy po wojnie polski odbiornik radiow
54 (101) KATARZYNA Juści o trzeci po peudniu zawdy jasno bywa. CHOMIŃSKI Po czym? KATARZYNA

więcej podobnych podstron