Kapitola 2.2. |
Vyhľadávanie v usporiadanom zozname |
|
|
Zreťazený zoznam môže byť zreťazený jednosmerne alebo obojsmerne. Aby sme však naplno dokázali využiť usporiadaný zoznam, je lepšie, keď je zreťazený obojsmerne. Plynú nám z toho potom ďalšie výhody, ktoré môžeme využiť pri nasledujúcom algoritme.
|
Triedy použité na analýzu a testovanie vybraných algoritmov |
Ako môžeme vidieť, opäť nás budú najviac zaujímať počty porovnaní a posunutí v zozname. Samozrejme bude dôležitý aj čas trvania algoritmov.
|
//zaznam pre obojsmerne zretazeny zoznam
class CZaznam_OZ {
int hodnota_; //hodnota zaznamu
CZaznam_OZ* predch_; //ukazovatel na predchadzajuci zaznam
CZaznam_OZ* dalsi_; //ukazovatel na nasledujuci zaznam
public:
.
.
.
};
//Obojsmerne zretazeny zoznam skladajuci sa z instancii triedy CZaznam_OZ
class CZoznam_OZ {
CZaznam_OZ* prvy_; //ukazovatel na prvy zaznam zoznamu
//statisticke premenne na analyzu poctu roznych druhov porovnani a posunuti
int p_a_porovnani_;
int p_b_porovnani_;
int p_c_porovnani_;
int p_posunuti_;
public:
.
.
.
}; |
|