From 5963998902287bd76eed7c72544aa71c135a3f06 Mon Sep 17 00:00:00 2001 From: Pagwin Date: Mon, 12 Jan 2026 16:54:07 -0500 Subject: [PATCH] some amount of cleanup to README/removing suspects note file --- README.md | 23 ++++++++++++++++++++++- suspects | 1 - 2 files changed, 22 insertions(+), 2 deletions(-) delete mode 100644 suspects diff --git a/README.md b/README.md index 7dddc9e..151558f 100644 --- a/README.md +++ b/README.md @@ -1 +1,22 @@ -[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/KQPFWPgN) +# `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 diff --git a/suspects b/suspects deleted file mode 100644 index 8bd2efe..0000000 --- a/suspects +++ /dev/null @@ -1 +0,0 @@ -rotation is definitely wrong somewhere, knowing me rotate_root, somehow 1 ended up right of 2