Krak´ow 7.11.2016
Algorytmy i struktury danych I
Zestaw zada´n nr. 5: Listy (c.d.)
Zadania programoweprzygotowujemy w postaci kodu programu oraz dokumentu z kr´otkim opisem kodu oraz wynikami test´ow: plik.pdf (u˙zywamy latex, word) i umieszczamy w systemie Pegaz.
• Zadanie 1 (programowe)
Uzupe lnij swoja‘ implementacje‘ listy oparta‘ o wska´zniki o metody doste‘pne w biblotece STL dla listy class forward list.
Napisz kod do generacji testowego inputu oraz kod do generowania wzorcowego outputu w oparciu o implementacje
‘ class forward list w biblotece STL.
• Zadanie 2 (programowe) Na wejsciu mamy podana
‘ilo´s´c zestaw´ow testowych z, a naste
‘pnie z zestaw´ow testowych, z kt´orych ka˙zdy sk lada sie
‘ z 4 linii:
– w pierwszej linii podana jest liczba s1, ilo´s´c element´ow w pierwszej li´scie – w drugiej linii podane jest s1 liczb, kolejne elementy listy (posortowane) – w trzeciej linii podana jest liczba s2, ilo´s´c element´ow w drugiej liscie
– w czwartej linii podane jest s2 liczb, kolejne element´ow listy (posortowane) Dla ka˙zdego zestawu:
1. Wypisz na wyj´scie liste‘ powsta la‘ po scaleniu dw´och list (z powtarzaja‘cymi sie‘ ele- mentami), t.j. wypisz wszystkie jej elementy (posortowane)
2. Wypisz na wyj´scie liste
‘ powsta la
‘ po scaleniu dw´och list bez powtarzaja
‘cych sie element´ow t.j. wypisz wszystkie jej elementy (posortowane) ‘
Dla testowego przyk ladu:
1 5
1 2 3 4 5 2
2 9
Program powinien wypisa´c:
1 2 2 3 4 5 9 1 2 3 4 5 9
Program powinien dzia la´c w czasie liniowym od d lugo´sci list. Zadanie rozwia
‘˙z przy u˙zyciu w lasnej implementacji listy.
Do generacji testowego inputu uzyj programu GenListUnion.cpp, dla wygenerowania wzorcowego outputu u˙zyj programu ListUnion.cpp. Przetestuj swoja‘ implementacje‘ por´ownuja‘c z wzorcowym outputem.
1