CISS 350 Programming Assignment 4 Circular Linked List

Programming Assignment 4
Implement the following specification of UnsortedType using a circular linked list as the implementation structure.

template <class ItemType>
struct NodeType;

/* Assumption:  ItemType is a type for which the operators 
"<" and "==" are defined—either an appropriate built-in type or a class that overloads these operators. */

template <class ItemType>
class UnsortedType
{
public:
  // Class constructor, destructor, and copy constructor
  UnsortedType();
  ~UnsortedType(); 
  UnsortedType(const UnsortedType<ItemType>&);

  void operator=(UnsortedType<ItemType>);

  bool IsFull() const;
  // Determines whether list is full.
  // Post: Function value = (list is full)

  int  GetLength() const;
  // Determines the number of elements in list.
  // Post: Function value = number of elements in list.

  void RetrieveItem(ItemType& item, bool& found);
  // Retrieves list element whose key matches item's key 
  // (if present).
  // Pre:  Key member of item is initialized.
  // Post: If there is an element someItem whose key matches  
  //     item's key, then found = true and item is a copy of
  //     someItem; otherwise found = false and item is 
  //     unchanged.
  //     List is unchanged.

  
void InsertItem(ItemType item); 
  // Adds item to list.
  // Pre:  List is not full.
  //       item is not in list. 
  // Post: item is in list.

  void DeleteItem(ItemType item);
  // Deletes the element whose key matches item's key.
  // Pre:  Key member of item is initialized.
  //       One and only one element in list has a key matching 
  //       item's key.
  // Post: No element in list has a key matching item's key.

  void ResetList();
  // Initializes current position for an iteration through the 
  // list.   
  // Post: Current position is prior to list.

  void GetNextItem(ItemType&);
  // Gets the next element in list.
  // Pre:  Current position is defined.
  //       Element at current position is not last in list.
  // Post: Current position is updated to next position.
  //       item is a copy of element at current position.

private:
  NodeType<ItemType>* listData;
  int length;
  NodeType<ItemType>* currentPos;
};

Deliverables

  • A listing of the specification and implementation files for UnsortedType
  • A listing of the driver program for your test plan
  • A listing of the test plan as input to the driver.
  • A listing of the output from the driver.




The solution includes a Visual Studio (c++) project

  • Attachments [Move over files to preview content of those files]
    • CISS_350_Programming_Assignment_4.zip (1.49 MB)
      • CISS350-Programming-Assignment-4-Output.png
      • CISS350-Programming-Assignment-4-Screenshot.png
      • CISS350-Programming-Assignment-4-Source-Code.png
      • Visual Studio C++ Project
        • CISS350Assignment4
          • CISS350Assignment4
          • CISS350Assignment4.opensdf
          • CISS350Assignment4.sdf
          • CISS350Assignment4.sln
          • CISS350Assignment4.v12.suo
          • Debug
            • ipch
              • ciss350assignment4-61f6c8f
                • ciss350assignment4-8937343.ipch
      Preview CircularLinkedList.cpp
      xxxxx xxxxxxxxx xxx;
      xxxxx xxxx {
      xxxxxx:
      xxxxxx xxxx;
      string address; char sex; int age; string toString(); User(); // This is the constructor User(string _name, string _address, char _sex, int _age); // This is the constructor bool operator == (const User &Ref) const { return(this->name == Ref.name); } bool operator < (const User &Ref) const
      {
      xxxxxx(xxxx->xxxx < xxx.xxxx);
      }
      xxxx xxxxxxxx > (xxxxx xxxx &xxx) xxxxx
      {
      Preview ReadMe.txt
      ========================================================================
      xxxxxxx xxxxxxxxxxx : xxxx350xxxxxxxxxx4 xxxxxxx xxxxxxxx
      ========================================================================
      xxxxxxxxx xxx xxxxxxx xxxx xxxx350xxxxxxxxxx4 xxxxxxxxxxx xxx xxx.
      This file contains a summary of what you will find in each of the files that make up your CISS350Assignment4 application. CISS350Assignment4.vcxproj This is the main project file for VC++ projects generated using an Application Wizard. It contains information about the version of Visual C++ that generated the file, and
      xxxxxxxxxxx xxxxx xxx xxxxxxxxx, xxxxxxxxxxxxxx, xxx xxxxxxx xxxxxxxx xxxxxxxx xxxx xxx
      xxxxxxxxxxx xxxxxx.
      xxxx350xxxxxxxxxx4.xxxxxxx.xxxxxxx
      xxxx xx xxx xxxxxxx xxxx xxx xx++ xxxxxxxx xxxxxxxxx xxxxx xx xxxxxxxxxxx xxxxxx.
      xx xxxxxxxx xxxxxxxxxxx xxxxx xxx xxxxxxxxxxx xxxxxxx xxx xxxxx xx xxxx xxxxxxx
      Preview stdafx.h
      // xxxxxx.x : xxxxxxx xxxx xxx xxxxxxxx xxxxxx xxxxxxx xxxxx,
      // xx xxxxxxx xxxxxxxx xxxxxxx xxxxx xxxx xxx xxxx xxxxxxxxxx, xxx
      // xxx xxxxxxx xxxxxxxxxxxx
      //
      #pragma once #include "targetver.h" #include #include
      // xxxx: xxxxxxxxx xxxxxxxxxx xxxxxxx xxxx xxxxxxx xxxxxxxx xxxx
      Preview targetver.h
      #pragma once
      
      // Including SDKDDKVer.h defines the highest available Windows platform.
      
      // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
      // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
      
      // xxx xxx _xxx32_xxxxx xxxxx xx xxx xxxxxxxx xxx xxxx xx xxxxxxx xxxxxx xxxxxxxxx xxxxxxxxx.x.
      #xxxxxxx


    Price: $15

    Buy Now

    Buy More Save More
    Buy at least TWO items & save up to 30% OFF your ENTIRE order!
    Rack up instant rebates in your shopping cart. Simply add items to your cart, and see the savings add up.
    Discounts will automatically be applied on eligible orders.

    Add to Cart
    FLASH SALE
    $89

    $113 Save $24
    CISS350 Entire Course