From 7bc6a62777f278fe8e0354e64535840f03bb1dde Mon Sep 17 00:00:00 2001 From: Sambo Chea Date: Sat, 1 Aug 2020 20:32:55 +0700 Subject: [PATCH] Try to init linkedlist example and testing the node --- tests/linkedlist | Bin 0 -> 16712 bytes tests/linkedlist.c | 73 ++++++++++++++++++++++++++++++++++++++++++++ tests/runLinkedlist | 7 +++++ 3 files changed, 80 insertions(+) create mode 100755 tests/linkedlist create mode 100644 tests/linkedlist.c create mode 100755 tests/runLinkedlist diff --git a/tests/linkedlist b/tests/linkedlist new file mode 100755 index 0000000000000000000000000000000000000000..b19ee0aab373bb59978000ad6f7599f167858fd9 GIT binary patch literal 16712 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/tests/linkedlist.c b/tests/linkedlist.c new file mode 100644 index 0000000..8a278ba --- /dev/null +++ b/tests/linkedlist.c @@ -0,0 +1,73 @@ +#include "stdio.h" +#include "stdlib.h" + +struct node { + int data; + struct node *next; +}; + +struct node *head = NULL; +void add_first(int); +void add_last(int); +void traverse(); +void remove_first(); +void remove_last(); +int count = 0; +void display_menu(); + +int main(void) { + printf("Welcome!\n"); + + int selected, data; + + while (1) { + if (count == 100) { + exit(EXIT_SUCCESS); + } + + // show menu + display_menu(); + } + + printf("\nGoodbye!"); + return 0; +} + +void display_menu() { + + printf("1. Add first element\n"); + printf("2. Add last element\n"); + printf("3. Traverse element\n"); + printf("4. Remove first element\n"); + printf("5. Remove last element\n"); + +} + +void add_first(int element) { + // init node + struct node *node; + + // allocate the node for linkedlist + node = (struct node*)malloc(sizeof(struct node)); + + // add the data into node + node->data = element; + + // count the nodes, that added into data + count++; + + // check the head, if null put the data into it + if (head == NULL) { + // replace the node into head + head = node; + + // set the next of head into null + head->next = NULL; + + // return or end this process + return; + } + + node->next = head; + head = node; +} \ No newline at end of file diff --git a/tests/runLinkedlist b/tests/runLinkedlist new file mode 100755 index 0000000..12a5def --- /dev/null +++ b/tests/runLinkedlist @@ -0,0 +1,7 @@ +#!/bin/bash + +rm -r linkedlist + +gcc linkedlist.c -o linkedlist + +./linkedlist \ No newline at end of file