A.1. Implementace operací nad seznamy v C++

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: