Zdravím, mám za úkol napsat funkci, která zjistí, jestli jsou dva obousměrné seznamy shodné. Napadlo mě vždycky vzít první prvek z každého, porovnat je a posunout se na další, to nemám problém napsat...jenže v zadání je, že se nemá porovnávat "každý prvek s každým", což tohle asi bude, akorát mě nenapadá způsob jak to udělat jinak. Jde to vůbec, nebo špatně chápu zadání?
Seznamy nemusí být setříděné ani stejně dlouhé, ale neobsahují stejné prvky víckrát.
Fórum › C / C++
Shodnost dvou seznamů
#1 birb
Kazdy s kazdym znamena, ze vezmes prvni z prvniho seznamu, a hledas ho v celem druhem seznamu. A takhle pro vsechny ostatni polozky prvniho seznamu.
Coz by znamenalo, ze mas asi porovnavat ve stylu setu (mnozin).
Ale asi by to chtelo kompletni zadani.
#2 KIIV
Asi to tak bude, vůbec mě to celou tu dobu nenapadlo, pořád se mi vybavovala shodnost jako stejné prvky na stejných místech.
Zadání: "Vaším úkolem je implementovat funkci bool Equal(const List& L1, const List& L2), která bude vracet true pokud oba seznamy obsahují shodné prvky, jinak vrací false."
#3 birb
urcite je to ve stylu mnozin. Dobra zprava je, ze neobsahuji stejny prvek vicekrat, takze muzes rovnou vratit false, pokud jsou ruzne dlouhe.
Osobne bych to resil hledanim nejmensich ci nejvetsich prvku v obou seznamech a porovnal ty. Nebo seradit.
(no v realu bych pouzil proste std::set, cim mene vlastniho kodu clovek pise, tim mene chyb tam nacpe)
Use 2 nested for loops. The outer loop will be for each node of the 1st list and inner loop will be for 2nd list. In the inner loop, check if any of nodes of the 2nd list is same as the current node of the first linked list. The time complexity of this method will be O(mn) where m and n are the numbers of nodes in two lists.for more information see the page functionalpage
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Přidání seznamů v seznamu do 2.seznamu — založil Ahoj3
Podmínky při řešení soustavy dvou lineárních rovnic o dvou neznámých — založil martin.kubik
C++ řazení seznamu — založil Petr
Iterace v seznamu — založil kterosuom
Seřazení v seznamu — založil Jakub Vojáček
Moderátoři diskuze