Sessions 26 and 27 - Data Structures &amp; Algorithm

# 0 cout currentptr data currentptr currentptr nextptr

This preview shows page 1. Sign up to view the full content.

This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: te< class NODETYPE > void List< NODETYPE >::print() const { if ( isEmpty() ) { cout << "The list is empty\n\n"; return; } // end if ListNode< NODETYPE > *currentPtr = firstPtr; cout << "The list is: "; while ( currentPtr != 0 ) { cout << currentPtr->data << ' '; currentPtr = currentPtr->nextPtr; } // end while cout << "\n\n"; } // end function print #endif Sharif University of Technology Introduction to Programming: Sessions 26 and 27: Data Structures & Algorithm 27 1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 15 16 17 18 19 20 21 22 23 24 // List class test program. #include <iostream> using std::cin; using std::endl; #include <string> Program to give user a menu to add/remove nodes from a list. using std::string; #include "list.h" // List class definition // function to test a List template< class T > void testList( List< T > &listObject, const string &typeName ) { cout << "Testing a List of " << typeName << " values\n"; instructions(); // display instructions int choice; T value; Sharif University of Technology Introduction to Programming: Sessions 26 and 27: Data Structures & Algorithm 28 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 do { cout << "? "; cin >> choice; switch ( choice ) { case 1: cout << "Enter " << typeName << ": "; cin >> value; listObject.insertAtFront( value ); listObject.print(); break; in main: List< int > integerList; testList( integerList, "integer" ); case 2: cout << "Enter " << typeName << ": "; cin >> value; listObject.insertAtBack( value ); listObject.print(); break; case 3: if ( listObject.removeFromFront( value ) ) cout << value << " removed from list\n"; listObject.print(); break; Sharif University of Technology Introduction to Programming: Sessions 26 and 27: Data Structures & Algorithm 29 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 65 66 67 68 69 70 71 72 73 74 75 76 case 4: if ( listObject.removeFromBack( value ) ) cout << value << " removed from list\n"; listObject.print(); break; } // end switch } while ( choice != 5 ); // end do/while cout << "End list test\n\n"; } // end function testList // display program instructions to user void instructions() { cout << "Enter one of the following:\n" << " 1 to insert at beginning of list\n" << " 2 to insert at end of list\n" << " 3 to delete from beginning of list\n" << " 4 to delete from end of list\n" << " 5 to end list processing\n"; } // end function instructions Sharif University of Technology Introduction to Programming: Sessions 26 and 27: Data Structures & Algorithm 30 77 78 79 80 81 82 83 84 85 86 87 88...
View Full Document

## This note was uploaded on 09/01/2013 for the course CE CE230 taught by Professor Arash during the Fall '13 term at Sharif University of Technology.

Ask a homework question - tutors are online