aboutsummaryrefslogtreecommitdiff
path: root/sem3/algo/mm2/linked/main.c
blob: 6f4eb6a04511589909636a797fc56e8f213c40c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include "node.h"
#include "llist.h"

void list_print(node_t *root)
{
	int index = 0;
	/* Loop through notes and print them */
	while ( root != NULL ) {
		/* Print a value */
		printf("%d: %d\n", index++, root->val);

		/* Next value */
		root = root->next;
	}
}

/* Remove node */
int main()
{
	
	/* Do some stuff */
	llist_t list;
	llist_init(&list);

	llist_append(&list, 11); // 0
	llist_append(&list, 22); // 1
	llist_append(&list, 33); // 2
	llist_append(&list, 44); // 3
	llist_append(&list, 89); // 4
	llist_append(&list, 12); // 5
	llist_append(&list, 2);  // 6
	llist_append(&list, 1);  // 7
	llist_append(&list, 7);  // 8
	llist_append(&list, 232);// 9

	list_print(list.root);
	printf("%d\n", llist_get(&list, 5));
	llist_pop(&list, 9);
	printf("%d\n", llist_get(&list, 7));

	list_print(list.root);

	while ( list.len ) {
		printf("Popped %d\n", llist_pop(&list, 0));
	}
}