Header File for Ordered List ADT


// *********************************************************
// Header file ollist.h for the ADT OrderedList.
// Pointer-based implementation.
// *********************************************************

#ifndef OLLIST_H
#define OLLIST_H

typedef desired-type-of-list-item listItemType;

struct listNode;            // linked list node
typedef listNode* ptrType;  // pointer to node

class OrderedList
{
public:
// constructors and destructor:
	OrderedList();                      	// default constructor
	OrderedList(const OrderedList& L);	// copy constructor
	~OrderedList();                     	// destructor

// OrderedList operations:
	int isEmpty() const;
	int length() const;
	int insert(listItemType NewItem);
	int del(listItemType NewItem);
	int retrieve(int Position, listItemType& DataItem) const;
	int locate(listItemtype DataItem, int& Position) const;
private:
	int     Size;  // number of items in list
	ptrType Head;  // pointer to linked list of items

	ptrType PtrTo(int Position) const;
	// Returns a pointer to the Position-th node
	// in the linked list.
	ptrType ComesBefore(const listItemType Item) const;
	// Returns a pointer to the node which comes before the node
	// containing Item; works even if Item is not in the list.
}; // end class
// End of header file.

#endif


Email Me | Office Hours | My Home Page | Department Home | MCC Home Page