Implementujte v jazyce C++ následující funkce nad seznamy hodnot typu int:
Funkce length vrací počet prvků v seznamu.
int length
(List lst);
Funkce copy vrací kopii zadaného seznamu.
List copy
(List lst);
Funkce append vrací seznam vytvořený spojením zadaných dvou seznamů.
List append
(List lst1, List lst2);
Funkce reverse vrací seznam obsahující prvky zadaného seznamu v obráceném pořadí.
List reverse
(List lst);
Funkce sum vrací součet hodnot v zadaném seznamu.
int sum
(List lst);
Všechny funkce pracují s nemodifikovatelnými seznamy, reprezentovanými ukazatelem na první prvek. Prvek seznamu poskytuje metodu getValue(), která vrací hodnotu prvku, a metodu getNext(), která vrací zbytek seznamu.
Prázdný seznam je reprezentován konstantou null. Neprázdný seznam se vyrobí voláním operátoru new s konstruktorem
CList
(int val, List nxt);
jehož parametry jsou hodnota prvního prvku seznamu a ukazatel na zbytek seznamu.
Zdrojové texty najdete v souboru seznamy.zip: