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:
.
.
.
};