1) isEmptyList():boolean {query} - determines whether a list is empty
2) getLengthList():integer {query} - returns the number of items in a list
3) insertList(in ndx:integer, in newItem:ListItemType, out success:boolean ) - inserts an item (newItem) at a given position (ndx) in the list. The success flag should indicate whether the insertion was successful.
4) removeItemList(in index:integer, out success:boolean) - deletes the item at a given position (index)in the list. The success flag should indicate whether the insertion was successful.
5) retrieveItemList(in index:integer, out dataItem:ListItemType, out success:boolean) {query} - copies the item at a given position (index) in the list as dataItem. The success flag should indicate whether the insertion was successful
6) compareList(in firstItem:ListItemType,in nxtItem:ListItemType): integer - compares the 2 list-items; returns -1 if (firstItem is less than nxtItem) returns 0 if (firstItem is equal to nxtItem) returns 1 if (firstItem is more than nxtItem)
C++ function definitions using the operations declared above: 7) replaceItemList(in myList: List, in oldItem: ListItemType, in nuItem: ListItemType, out succ: boolean) - replaces oldItem in the list with a new item (nuItem). The succ flag should indicate whether the replacement was successful.
8) maxList(in byList: List, out flag: boolean): ListItemType - returns the highest value in a list. The flag should indicate whether the operation was successful.
9) isUniqueList(in urList: List): boolean - determines if the list contains unique items with no duplicates.
10) retrieveItemPostList(in aList: List, in dataItem: ListItemType, out ndex: integer, out succss: boolean) {query} - returns the ordinal position (ndex) in the list of item dataItem. The succss flag should indicate whether the insertion was successful.