Intro to C++ Classes and Data Structures
Wayne Goddard

This is a brief summary for a 3rd semester course on Data Structures in C++, assuming a C background.

The text as a single pdf is available here.

Review.

  1. Basics of C++ | primality.cpp | BinarySearch.cpp
  2. Basics of Classes | Citizen.cpp
  3. Program development
Fundamentals.
  1. More about Classes, Files and I/O | CitizenToo.cpp | CitizenToo.h | TestCitizenToo.cpp
  2. Standard Class Methods | Fraction.h | Fraction.cpp | TestFraction.cpp
  3. Algorithm analysis
  4. Recursion | StepsByRecursion.cpp
Linear Data Types.
  1. Collections, Data Structures, Bags, Sets, and Lists | StringSet.h | StringSet.cpp | TestStringSet.cpp
  2. Linked lists | MyLinkedBag.h | MyLinkedBag.cpp
  3. Stacks and Queues | ArrayStack.h | ArrayStack.cpp | brackets.cpp
  4. Standard Template Library | MyInteger.h | TestMyInteger.cpp
Trees.
  1. Trees
  2. Binary Search Trees | BSTNode.h | BinarySearchTree.h | BinarySearchTree.cpp
  3. More Search Trees | RBNode.h | RedBlackTree.h | RedBlackTree.cpp
  4. Heaps and Priority Queues | PriorityQ.h | Heap.h | Heap.cpp
More C++.
  1. Inheritance | TwoDPoint.h | TwoDPoint.cpp | ThreeDPoint.h | ThreeDPoint.cpp | TestPoint.cpp |
    BTreeNode.h | BTreeLeaf.cpp | BTreeInternal.cpp | BTree.h | BTree.cpp
  2. Templates and Exceptions | SimpleList.h | SimpleList.cpp | TestSimpleList.cpp
More Data Structures and Algorithms.
  1. Hash Tables and Dictionaries
  2. Sorting | Sorting.cpp
  3. Algorithmic Techniques
  4. Graphs | Dag.h | GraphAlgorithms.cpp | AListDAG.h | AListDAG.cpp
  5. Paths and Searches