Build a dictionary on top of a bag built on top of


Programming Assignment 1:

  • Build a Dictionary on top of a
  • Bag built on top of an
  • Array (not a vector) of objects àKVpairs (key/value pairs)
  • Your dictionary should be able to hold at least 10 items.
  • I have given you the templates for a

            Bag (ADT)

            Dictionary (ADT)

            KV pair (implementation)

  • Do not modify the templates or the KVPair class unless you talk to me first (I'll probably say no).
  • Start by writing your Approach document first. I recommend you use an incremental approach

            Build the Bag first and get it working

            Then build the Dictionary using the Bag and get it working.

            Build your program one function at a time.

  • When you finish your Bag and then Dictionary show that it works with the following key/value types:

           

           

  • Bag

            Think of a grocery bag

            Bag fills up from bottom to top (like a stack)

            Unlike a stack, a bag provides access to all of the contents, not just the items at the top

            To find something in a bag you start looking from the top

            See BagADT.h for Bag operations

  • Dictionary

            Used for storing key/value records

            Provides operations for

            Storing,

            Finding, and

            Removing records from a collection

  • Comparable objects

            Since Find is the fundamental operation of a dictionary we need a key to search on

            For the English dictionary the key is the word itself (Key) and the definition consists of the word and its definition (Value)

            Dictionaries use a Key/Value pair; the key provides the "comparable object" used by Find

  • In implementing your Dictionary you must use the available bag operations to implement your dictionary operations.
  • Bag Operations

            AddItem(E)

            Remove(E)

            RemoveTop(E)

            Find(E)

            EmptyBag()

            += operator overload (adds an item)

            BagCapicity()

Dictionary Operations:

  • Clear()
  • Insert(E)
  • Remove(E)
  • RemoveAny(E)
  • Find(E)
  • Size()
  • KVPair.h provides the template (this is an implementation and not an ADT) for creating a key/value pair used by both the Bag and Dictionary
  • You are to use the following KV pair types for this assignment:

           

           

  • Example dictionary test run

325_Example dictionary test run.jpg

  • For more information on Dictionaries and the use of KVPairs read section 4.4 of your text
  • There you will find both details and usage examples.

 

Assignment 1 Comments

  • You must implement the ADTs by inheriting them - you cannot modify them

            classABag : public bagADT { }

            classBDictionary : public dictionaryADT { }

  • As a minimum you must

            Demonstrate one or more working bag operations to get any credit for this assignment and

You will not get credit, even if one or more ADT operations are implemented, if your implementation does not inherit the ADTs

Style Comments

  • You do not have to separate declaration and implementation into header and .cpp files
  • Put declaration and implementation both in the header file
  • I expect to see

            Self-documenting code

            Good use of white space and indentation

            Liberal use of comments

  • Easy to read and understand

Attachment:- Programming Assignment 1.docx

Solution Preview :

Prepared by a verified Expert
Computer Engineering: Build a dictionary on top of a bag built on top of
Reference No:- TGS01121814

Now Priced at $50 (50% Discount)

Recommended (92%)

Rated (4.4/5)