Kapitola 2.1.

Vyhľadávanie v neusporiadanom zozname

 
 
Záznamy sú zväčša pre jednoduchosť pridávané na začiatok alebo na koniec zoznamu. Pri takomto spôsobe pridávania nových záznamov je zrejmé, že záznamy v zozname nie sú usporiadané. Algoritmy, ktoré sú používané na vyhľadávanie v takomto poli sú podobné ako algoritmy používané pre vyhľadávanie v neusporiadanom poli. Pri opise nasledujúcich algoritmov budeme uvažovať s alternatívou, kedy je posledný záznam zoznamu ukončený nulovým ukazovateľom a teda zoznam nie je zreťazený dokola.

Triedy použité na analýzu a testovanie vybraných algoritmov

Ako môžeme vidieť, členskými premennými určenými na štatistické hodnotenie a porovnávanie algoritmov sú počty porovnaní a posunutí v zozname. Ďalšou porovnávanou hodnotou algoritmov bude ich čas trvania.
 
//zaznam pre jednosmerne zretazeny zoznam
class CZaznam_JZ {
	int hodnota_;				//hodnota zaznamu
	CZaznam_JZ* dalsi_;			//ukazovatel na nasledujuci zaznam
public:
.
.
.
};

//jednosmerne zretazeny zoznam skladajuci sa z instancii triedy CZaznam_JZ
class CZoznam_JZ {
	CZaznam_JZ* 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:
.
.
.
};