/********************************************* Filename: queue.cpp Developer: Jay Suttiruttana Dev Platform: MS Windows 98 Compiler: MS Visual C++ (v6.0) Purpose: To illustrated queue algorithm **********************************************/ #include #include //for getchar() struct Queue { char Data; Queue *linkPtr; }; Queue *enque(Queue *quePtr, char queData); Queue *deque(Queue *quePtr); void dumpQueue(Queue *quePtr); void main() { Queue *NodePtr; char inData; NodePtr = NULL; //Entering data ($ to exit) into queue while(inData != '$') { inData = getchar(); NodePtr = enque(NodePtr, inData); } //Deque if(NodePtr != NULL) { cout<linkPtr != NULL) quePtr = quePtr->linkPtr; quePtr->linkPtr = new Queue; quePtr=quePtr->linkPtr; quePtr->linkPtr = NULL; quePtr->Data = queData; return lPtr; } else { quePtr= new Queue; quePtr->linkPtr = NULL; quePtr->Data = queData; return quePtr; } } Queue *deque(Queue *quePtr) { Queue *tempPtr; cout<Data; tempPtr = quePtr->linkPtr; delete quePtr; return tempPtr; } void dumpQueue(Queue *quePtr) { while(quePtr != NULL) quePtr = deque(quePtr); }