#include #define DEBUG FALSE typedef int Item; class Node { public: Item data; Node* next; }; typedef Node* NodePtr; NodePtr hdList = NULL; void addToList (Item number, NodePtr &hdList) { NodePtr newNode = new Node; newNode->data = number; newNode->next = hdList; hdList = newNode; } Item getFromList (NodePtr &hdList) { int number; NodePtr nowPtr; nowPtr = hdList; number = nowPtr->data; hdList = nowPtr->next; delete nowPtr; return Item(number); } void printAll (NodePtr hdList) { cout << "\nList of numbers are:\n"; while (hdList != NULL) { cout << getFromList(hdList) << endl; } } bool firstTime = TRUE; Item getItem () { int number; if (firstTime == TRUE) { randomize(); firstTime = FALSE; } number = rand(); if (DEBUG==TRUE) cout << number << endl; return Item(number); } void buildList (int szList, NodePtr &hdList) { int i; for (i = 0; i < szList; i++) addToList(getItem(), hdList); } int main() { buildList (4,hdList); printAll (hdList); getchar(); }