Assignment 2: Rolosort in C++ with header file implementation
A Rolodex is a rotating file, usually used to record business contact information. Cards are inserted in alphabetic order by name. You operate the Rolodex by rolling it forwards or backwards until you find the information you need (or find the place where a new card should be added). Task Your task is to create a class that simulates a Rolodex, then use it to implement a word-sorting program. The program starts with an empty Rolodex, then reads words from standard input and adds a card for each word in the appropriate position to maintain overall sorted order. To find the correct position, the Rolodex is rolled either backwards or forwards from the current card. When all input has been processed, the program moves the Rolodex to the beginning and then outputs each word in order, one per line. Download the file rolosort_0.zip, which contains a basic version of the program and a skeleton version of the Rolodex class. The class has methods for rotating the Rolodex forwards and backwards, for returning the value of the card at the current position, and for inserting a new card either before or after the current card. Note that Rolodex is actually a template class, which means that both its definition and its implementation need to go in the class header file (and there is thus no need for a class implementation file). The initial version of the program implements the basic sorting algorithm (actually a modified version of insertion sort, which means it's not very efficient!). In addition, it supports a command line processing mechanism that allows you to run the program with options. The basic version recognises only a single option, -v ("verbose"), which causes the actions on the Rolodex to be reported as they occur and might be useful when debugging.
You'll get 1 file (1.3KB)