ALG1

ALG1



5.1. Listy jednokierunkowe 111

i zarobków. (Rozbudowa tych struktur danych nie wniosłaby koncepcyjnie nic nowego, natomiast zagmatwałaby i tak dość pokaźny objętościowo listing).

Struktury danych prezentują się w nowej wersji następująco:

typedef struct rcb

(

char nazwisko[1001; long zarobek;

struct rob    ‘następny;    //    wskaźnik do

(ELEMENT;    II    następnego elementu

typedef struct rob_ptr// struktura robocza listy

{    //    wskaźników

ELEMENT ‘adres;

struct rob_ptr ‘następny;

łLPTR;

Olbrzymich zmian jak na razie nie ma i uważny Czytelnik mógłby się słusznie zapytać, dlaczego nie zostały wykorzystane mechanizmy dziedziczenia, aby maksymalnie wykorzystać już napisany kod? Powód jest prosty: poprzednia wersja klasy LISTA służyła w zasadzie do ukazania mechanizmów i algorytmów bazowych związanych z listami jednokierunkowymi; jej zastosowanie praktyczne było w związku z tym raczej nikłe.

Obecnie prezentowana wersja struktury listy jednokierunkowej charakteryzuje się bardzo dużą elastycznością użytkowania i to właśnie ona w inna służyć jako klasa bazow'a w' ewentualnej hierarchii dziedziczenia (o ile Czytelnik w istocie będzie w ogóle potrzebował mechanizmów dziedziczenia).

lisla2.h

II ilość kryteriów sortowania


Oto nowa wersja klasy LISTA:

const n=5; const n2=2; class LISTA (

public:

T.T.STA () ;

-LISTA () ;

void dorzuć(ELEMENT ‘); void wypisz(char);


//konstruktor

//destruktor

// dołącz nowy element q // wypisz zawartość listy


// usuń element, który jest zgodny z wzorcową komórką // podaną jako parametr:

int usuń(ELEMENT",int(‘decyzja)(ELEMENT*,ELEMENT*)); private:

typedef struct    // struktura informacyjna

{    // danych

ELEMENT ‘głowa;

ELEMENT ‘ogon;

IINFO;


Wyszukiwarka

Podobne podstrony:
ALG1 5.1 Listy jednokierunkowe 101 5.1 Listy jednokierunkowe 101 ELEMENT Aprzed=NULL,*po=inf.głowa;
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
Alkocholizm jest chorobą 10 DAJ SOBIE SZANSĘ(Do tych, którzy jeszcze nie wiedzą czy chcą przestać p
ALG 4 94 Rozdział 5. Struktury danych5.1. Listy jednokierunkowe Lista jednokierunkowa jest oszczędną
ALG8 108__Rozdział 5. Struktury danych5.1.3.Listy jednokierunkowe - teoria i rzeczywistość Oprócz p
ALG7 5.2. Tablicowa implementacja list 1275.2.3.Listy innych typów Listy jednokierunkowe są bardzo
16 Poniżej przedstawiono przykłady wykorzystania tych tablic: 1, Oblicz siły w węźle VIII kratownic

więcej podobnych podstron