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 tyALG 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 zosALG3 5.1 Listy jednokierunkowe 103 noprawny obiekt - może aktywować dowolną metodę swojej klasy, czALG5 5.1 Listy jednokierunkowe 105 Na rysunku 5-7 możemy przykładowo prześledzić jak powinna być wyALG7 5.1. Listy jednokierunkowe 107 cout « "L2 = for (i=0; i<n; 12.dorzuc2(tab2[i++])) ; 12ALG9 5,1. Listy jednokierunkowe 109 Poruszony powyżej problem był na tyle charakterystyczny dla wieALG3 5.1 Listy jednokierunkowe 113 int wzor(int x,int(*fun)(int!) [ return fun(x); ) void main(} iALG5 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 uALG9 5.1. Listy jednokierunkowe 119 wartość zwracaną przez funkcję: w normalnej sytuacji winien toAlkocholizm jest chorobą 10 DAJ SOBIE SZANSĘ(Do tych, którzy jeszcze nie wiedzą czy chcą przestać pALG 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 pALG7 5.2. Tablicowa implementacja list 1275.2.3.Listy innych typów Listy jednokierunkowe są bardzo16 Poniżej przedstawiono przykłady wykorzystania tych tablic: 1, Oblicz siły w węźle VIII kratownicwięcej podobnych podstron