|
Implementácie |
Vyhµadávanie v jednosmerne zre»azenom zozname
|
|
|
//sekvencne vyhladavanie zadanej hodnoty "hladany" v JZ zozname od zaznamu "aktualny"
//zoznam musi byt ukonceny nulovym ukazovatelom
//funkcia vracia ukazovatel na najdeny zaznam (v pripade neuspechu vyhladavania vracia 0)
CZaznam_JZ* JZnajdi_sekv1_zaznam(int hladany, CZaznam_JZ* aktualny){
while (aktualny) {
if (aktualny->hodnota()==hladany) return aktualny;
else aktualny=aktualny->dalsi();
}
return 0;
} |
|
//sekvencne vyhladavanie zadanej hodnoty "hladany" v JZ zozname od zaznamu "aktualny"
//zoznam musi byt ukonceny nulovym ukazovatelom
//funkcia vracia logicku premennu (ak sa zadany prvok v poli nachadza true, inak false)
bool JZnajdi_sekv1_bool(int hladany, CZaznam_JZ* aktualny){
while (aktualny) {
if (aktualny->hodnota()==hladany) return true;
else aktualny=aktualny->dalsi();
}
return false;
} |
|
//sekvencne vyhladavanie zadanej hodnoty "hladany" v JZ zozname od zaznamu "aktualny"
//zoznam musi byt zretazeny dokola
//funkcia vracia ukazovatel na najdeny zaznam (v pripade neuspechu vyhladavania vracia 0)
CZaznam_JZ* JZnajdi_sekv2_zaznam(int hladany, CZaznam_JZ* aktualny){
if (!aktualny) return 0;
CZaznam_JZ* prvy=aktualny;
do {
if (aktualny->hodnota()==hladany) return aktualny;
else aktualny=aktualny->dalsi();
} while (aktualny!=prvy);
return 0;
} |
|
//sekvencne vyhladavanie zadanej hodnoty "hladany" v JZ zozname od zaznamu "aktualny"
//zoznam musi byt zretazeny dokola
//funkcia vracia logicku premennu (ak sa zadany prvok v poli nachadza true, inak false)
bool JZnajdi_sekv2_bool(int hladany, CZaznam_JZ* aktualny){
if (!aktualny) return 0;
CZaznam_JZ* prvy=aktualny;
do {
if (aktualny->hodnota()==hladany) return true;
else aktualny=aktualny->dalsi();
} while (aktualny!=prvy);
return false;
} |
|