No description
Find a file
2026-01-14 14:04:38 -05:00
.github GitHub Classroom Feedback 2024-11-15 22:47:01 +00:00
Makefile Fixed issues and setup a makefile for submission 2024-11-25 23:49:54 -05:00
Map.hpp commenting is done 2026-01-14 14:04:38 -05:00
minimal.cpp slowly working through given tests to get Map fully working in all functionality 2024-11-25 16:25:47 -05:00
morseex.cpp committing more tests 2024-11-24 22:25:54 -05:00
README.md some amount of cleanup to README/removing suspects note file 2026-01-12 16:54:07 -05:00
t.cpp did most of the misc stuff just need < and == 2024-11-24 20:42:13 -05:00
ta.cpp committing more tests 2024-11-24 22:25:54 -05:00
test-kec.cpp committing more tests 2024-11-24 22:25:54 -05:00
test-scaling.cpp committing more tests 2024-11-24 22:25:54 -05:00
test.cpp committing more tests 2024-11-24 22:25:54 -05:00

std::map impl for CS440

This repo contains the results of an assignment I completed as a part of my CS 440 class.

The assignment in question was to implement much of the interface that std::map without using std::map with a performance bound requiring the usage of a red-black tree or comparably performant data structure.

The implementation is in the Map.hpp file with testing of that implementation occuring in t.cpp, ta.cpp, minimal.cpp, morseex.cpp, test.cpp test-kec.cpp test-scaling.cpp.

Building

All .cpp files can be built into executables on Linux via the makefile albeit the makefile is currently written to use g++ even though this implementation should work with other C++ compilers (I've only tested building with g++ (GCC) 15.2.1 20260103)

What is is implemented

The following is implemented.

  • default, copy and move constructors and assignment operators
  • initializer list constructor
  • Mutable, Const and Reverse Iterators
  • finding a value in the map O(log(N)) time given the key both const and mutably
  • insertion, modification and erasure of values via various methods
  • and comparison operators