diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/stack.c | 106 | ||||
-rw-r--r-- | test/stack.h | 18 |
2 files changed, 0 insertions, 124 deletions
diff --git a/test/stack.c b/test/stack.c deleted file mode 100644 index 8d227f9..0000000 --- a/test/stack.c +++ /dev/null @@ -1,106 +0,0 @@ -#include <stdio.h> -#include "stack.h" - -struct stack_st stack = { .len = 0, //prageused el - .size = 0, // max el - .arr = NULL}; - -// Functions - -void stackPush(int val){ - if (stack.len == 0 || stack.arr == NULL){ - // Peame küsima mälu - stack.size = 1; - stack.arr = malloc(stack.size * sizeof(int)); - - if (stack.arr == NULL) { - printf("Mälu otsas\n"); - return; - } - stack.arr[stack.len++] = val; - } - - else if (stack.len == stack.size){ - int tmp_size = malloc(2 stack.size); - int* tmp_arr = realloc(stack.val, tmp_size * sizeof(int)); - - if (stack.arr == NULL) { - printf("Mälu otsas\n"); - return; - } - - stack.size = tmp_size; - stack.arr = tmp_arr; - stack.arr[stack.len] = val; - stack.len++; - return; - } - -} - - -int stackPop(void){ - // Mälu vähendamine - /* - return stack.arr[--stack.len]; - */ - // Peaks olema kogu värk. - - int x = stack.val[--stack.len] - int tmp_size = stack.size/2; - if (stack.len < tmp-size){ - int* tmp_arr = realloc(stack.arr, tmp_size *sizeof(int)); - if (!tmp_arr){ - printf("No good, malu ots"); - return 0; - } - stack.size = tmp_size; - stack.arr = tmp_arr; - - if (stack.len == 0) - stack_free(); -// End of new stuff // - - if (stackIsEmpty()){ - return 0; - } - int stackPopped = stack.arr[--stack.len]; - return stackPopped; -} - - -int stackIsEmpty(void) { - return !(stack.len > 0); -} - - -int stackPeek(){ - // To avoid funking up the stack.len - if (stackIsEmpty()) return 0; - else if (stack.len == 1) return stack.arr[1]; - else{ - int x = stackPop(); - stackPush(x); - return x; - } -} - - -void stackPrint(){ - while(1){ - if(stackIsEmpty()) - break; - - int x = stackPop(); - printf("%d\n", x); - } - return; -} - - -/* -stack_free(){ - free(stack.val); // kutsuda kõige lõpus vist - stack.arr = NULL; -} -*/ diff --git a/test/stack.h b/test/stack.h deleted file mode 100644 index 8bb1539..0000000 --- a/test/stack.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef __STACK_H__ -#define __STACK_H__ - -#define STACK_SIZE 100 - -struct stack_st { - int len; - int size; - int* arr; -}; - -void stackPush(int val); -int stackPop(void); -int stackIsEmpty(void); -int stackPeek(void); -void stackPrint(void); - -#endif |