aboutsummaryrefslogtreecommitdiff
path: root/list.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'list.cpp')
-rw-r--r--list.cpp40
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;
+}