(list)+some flavour text for list program output
This commit is contained in:
17
list.cpp
17
list.cpp
@@ -96,15 +96,28 @@ std::ostream& operator<<(std::ostream& ostream, const List<T> *lst)
|
|||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
|
puts("Create linked list with 1..10");
|
||||||
auto lst = append<int>(nullptr, 1);
|
auto lst = append<int>(nullptr, 1);
|
||||||
for (int i = 2; i < 10; ++i)
|
for (int i = 2; i <= 10; ++i)
|
||||||
lst = append(lst, i);
|
lst = append(lst, i);
|
||||||
|
printf("Current output for list: ");
|
||||||
std::cout << lst << std::endl;
|
std::cout << lst << std::endl;
|
||||||
lst = reverse(lst);
|
lst = reverse(lst);
|
||||||
|
printf("Reverse list: ");
|
||||||
std::cout << lst << std::endl;
|
std::cout << lst << std::endl;
|
||||||
|
puts("Reverse list again...");
|
||||||
|
printf("Map list with f(x) = 2x: ");
|
||||||
map<int, int>(lst = reverse(lst), [](int x){ return x * 2; });
|
map<int, int>(lst = reverse(lst), [](int x){ return x * 2; });
|
||||||
std::cout << lst << std::endl;
|
std::cout << lst << std::endl;
|
||||||
std::cout << reduce<int>(lst, [](int a, int b) { return a + b; }, 0) << std::endl;
|
puts("Reverse map...");
|
||||||
|
map<int, int>(lst, [](int x){ return x / 2; });
|
||||||
|
printf("Sum all numbers in list: ");
|
||||||
|
std::cout << reduce<int>(lst, [](int a, int b) { return a + b; }, 0)
|
||||||
|
<< std::endl;
|
||||||
|
printf("Print all even numbers 1..10: ");
|
||||||
|
auto evens = filter<int>(lst, [](int a) { return a % 2 == 0; });
|
||||||
|
std::cout << evens << std::endl;
|
||||||
delete lst;
|
delete lst;
|
||||||
|
delete evens;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user