Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
TStack_list
/** \file TStack.c * \brief Implementace API pro typ zásobník pomocí lineárního jednosměrně vázaného seznamu * \author Kolektivní vědomí ALD * \version 2021 * $Id: TStack.c 1051 2021-02-14 18:49:46Z petyovsky $ */ #include "TStack.h" void stack_init(struct TStack *aStack) { if(aStack) aStack->iTop = NULL; } bool stack_is_empty(const struct TStack *aStack) { if(aStack) return !aStack->iTop; return true; } bool /* TStackIterator */ stack_top(const struct TStack *aStack, TStackElement *aValue) { if(stack_is_empty(aStack) || !aValue) return false; *aValue = aStack->iTop->iValue; return true; } bool stack_push(struct TStack *aStack, TStackElement aValue) { if(aStack) { struct TStackNode *node = malloc(sizeof(struct TStackNode)); if(!node) return false; *node = (struct TStackNode) { .iNext = aStack->iTop, .iValue = aValue }; aStack->iTop = node; return true; } return true; } bool stack_pop(struct TStack *aStack) { if(stack_is_empty(aStack)) return false; struct TStackNode *mp_node = aStack->iTop; aStack->iTop = tmp_node->iNext; free(tmp_node); return true; } void stack_destroy(struct TStack *aStack) { if(!aStack) return; struct TStackNode *tmp = aStack->iTop; aStack->iTop = NULL; while(tmp) { struct TStackNode *next = tmp->iNext; free(tmp); tmp = next; } } struct TStackIterator stack_iterator_begin(const struct TStack *aStack) { if(!stack_is_empty(aStack)) return (struct TStackIterator) {.iStack = aStack, .iActual = aStack->iTop}; return (struct TStackIterator) { .iStack = NULL, .iActual = NULL }; } bool stack_iterator_is_valid(const struct TStackIterator *aIter) { if (aIter && aIter->iStack && aIter->iActual) return true; return false; } bool stack_iterator_to_next(struct TStackIterator *aIter) { bool valid = stack_iterator_is_valid(aIter); return valid; } TStackElement stack_iterator_value(const struct TStackIterator *aIter) { return (TStackElement) { 0 }; } #if 0 xD https://www.youtube.com/watch?v=KEwROjh-tVE <---------------- OPEN ----------------------good old days https://www.youtube.com/watch?v=KEwROjh-tVE <----------free cookies mhmm so good and tasty AAAAAAAAAHHHHHHHHHHHHHHH https://www.youtube.com/watch?v=Tp0ao2pZ3Fg <--- pro gamer moment Kto je hladný ?? #endif
run
|
edit
|
history
|
help
0
amal
TBod
struktura vzalenost
TVector - cv1
stdio.h
Stack
test
TStack_array
Eukleides
Pole MAX a MIN