diff options
Diffstat (limited to 'list.cpp')
-rw-r--r-- | list.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/list.cpp b/list.cpp new file mode 100644 index 0000000..8c671a1 --- /dev/null +++ b/list.cpp @@ -0,0 +1,40 @@ +/* list.cpp + * Date: 2021-11-20 + * Author: Aryadev Chavali + */ + +#include <cstdio> +#include <cstdlib> + +template <typename T> +struct List +{ + T value; + struct List<T> *next; +}; + +template <typename T> +struct List<T> *append(struct List<T> *lst, T value) +{ + struct List<T> *node; + if (lst == NULL) + { + node = new List<T>; + node->value = value; + node->next = NULL; + return node; + } + + for (node = lst; node->next != NULL; node = node->next) + continue; + + node->next = new List<T>; + node->next->value = value; + node->next->next = NULL; + return lst; +} + +int main(void) +{ + return 0; +} |