From 62d7ea0ccedc4ffc03b681e1960adfb684d01f0b Mon Sep 17 00:00:00 2001
From: goldman09 <nilsemeyer@gmail.com>
Date: Wed, 5 Apr 2017 10:32:27 +0000
Subject: [PATCH] Add new file

---
 tree.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 tree.c

diff --git a/tree.c b/tree.c
new file mode 100644
index 0000000..9f603f1
--- /dev/null
+++ b/tree.c
@@ -0,0 +1,44 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "tree.h"
+
+void t_insert (struct tree_node* curr, int* val) {
+	if (curr == NULL || val == NULL) return;
+	else while ((curr->left != NULL) || (curr->right != NULL)) {
+		if (*val == *(curr->val)) return;
+		else if (*val < *(curr->val)) {
+			if (curr->left != NULL) curr = curr->left;
+			else break;
+		}
+		else {
+			if (curr->right != NULL) curr = curr->right;
+			else break;
+		}
+	}
+	if (curr == NULL) return;
+	else {
+		struct tree_node* new = malloc (sizeof(struct tree_node));
+		new->left = NULL;
+		new->right = NULL;
+		new->val = val;
+		if (*val < *(curr->val)) curr->left = new;
+		else curr->right = new;
+	}
+}
+
+void* t_search (struct tree_node* curr, int* val) {
+	if (curr == NULL) return NULL;
+	while (curr != NULL) {
+		if (*val == *(curr->val)) return curr;
+		else if (*val < *(curr->val)) curr = curr->left;
+		else curr = curr->right;
+	}
+	return NULL;
+}
+
+void t_print (struct tree_node* curr) { // Inorder-Traversierung
+	if (curr == NULL) return;
+	t_print(curr->left);
+	printf("%d\n", *(curr->val));
+	t_print(curr->right);
+}
\ No newline at end of file
-- 
GitLab