• Stars
    star
    105
  • Rank 328,196 (Top 7 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

C/C++ implementations of data structures, algorithms, and everything else.

Jumble

C/C++ implementations of data structures, algorithms, and everything else.

Name Sources Notes
SharedPtr test .hpp My own version of std::shared_ptr.
UniquePtr test .hpp My own version of std::unique_ptr.
Linked List test .hpp Doubly linked list and merge sort.
Binary Heap test .hpp Heap implemented with complete binary tree.
Hash Table test .hpp Hash table with conflicting entries appended to linked list.
AVL Tree test .hpp Self-balancing binary search tree.
Graph test .hpp Graph implemented with adjacency list and matrix.
Sorting test .hpp Common sorting algorithms.
N-Puzzle test .hpp A* search to solve the N-Puzzle problem.
Dijkstra test .hpp Algorithm to find shortest path between nodes in a graph.
MD5 test .hpp MD5 hash function.
Calculator test .hpp .cpp Infix arithmetic expression calculator based on recursive descent parser.
Web Server example .h .c Single-threaded web server.
Greeting example .h .c Funny ASCII art for a greeting.

Installation

Build with CMake:

mkdir build
cd build
cmake ..
cmake --build .

C++ builds will be located at build/cpp. C++ implementations come with unit tests which can be run with CTest:

ctest --test-dir cpp

C builds will be located at build/c. C implementations don't have unit tests. Please run each binary individually:

./c/example_websvr

License

See the LICENSE file for license rights and limitations.