The call to realloc() already frees the previously allocated memory if necessary.
By the man page of realloc(): "f the area pointed to was moved, a free(ptr) is done.",
and free(): "If free(ptr) has already been called before, undefined behavior occurs.".
The trie example had some issues;
* It did not follow the code convention in CONTRIBUTING.md
* The createTrieNode used an inefficient zeroing method (looping over
the entries) which also does not zero out holes in the structure (e.g.
an alternative would be to use "*node = &(TrieNode){0}", but calloc
does all that anyway
* It used an inefficient and clumsy printArray method
* It used strlen inside the algorithm; this new method could get rid of
any strlen/strnlen usage (inserts/searches could be sanitized by
snprintf)
* This version can allow for a custom mapping function, e.g. if NULL is
a valid separator (say that you want a trie for certain binary
packages)
* The previous version actually contained out-of-bounds array indexing;
there were no checks for out-of-bound indexing and words in the word
list did contain out of bounds words. It's a surprise it was working
so well.
* This version just returns 'int' to allow for error checks (instead of
a printf inside the algorithm), and uses double pointers for return
values (good practice)
* The usage example contained unnecessary mallocs, switched that out for
scanf. The example is just an example after all, in real applications
you'd have better input sanitazion.
* Putting queue in correct dir and creating include file for it
* Update data_structures/queue/include.h
missing one function, added
Co-authored-by: David Leal <halfpacho@gmail.com>
Co-authored-by: David Leal <halfpacho@gmail.com>
* frequencies of words started
* A program to Print words contained in a file in alphabetical order
* Apply suggestions from code review
Co-authored-by: David Leal <halfpacho@gmail.com>
* appropriate comments added as suggested from code review
* comments cleaned up
* updating DIRECTORY.md
* Apply suggestions from code review
Co-authored-by: David Leal <halfpacho@gmail.com>
* commenting re-worded
* Add link to algorithm
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* main function moved to the bottom and function prototypes deleted
* uint64_t data type used for non negative values
* uint8_t used
* all int types fixed
* detailed explanation of algorithm added
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* tests and documentation added
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* documentation added
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update data_structures/binary_trees/words_alphabetical.c
Co-authored-by: David Leal <halfpacho@gmail.com>
* Apply suggestions from code review
Co-authored-by: David Leal <halfpacho@gmail.com>
* documentation added
* Apply suggestions from code review
Co-authored-by: David Leal <halfpacho@gmail.com>
* Add documentation
Co-authored-by: David Leal <halfpacho@gmail.com>
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* Doubly linked list, simple code.
#633
* organizing code a bit more
* add link in DIRECTORY.md and more comments/cleaning.
* remove global variables and redundancy.
* add Wikipedia reference
* add documentation comments in all functions/headers
* add update in file brief
Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
* remove part of file @details
Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
* add docs + fix error in getMax
* fix clang-tidy alerts and errors
* rearrange comments
* allow subfolders in data_structure
* set pointer to NULL after purge