Assignment 7 - Queues and Applications
For this assignment we will use Netscape Chat to work together on the ADT Queue and an application Palindrom.
Please join the #cs-1112 chat room on Friday, March 29, at 2:30pm for details. Connect to the chat server sciris.shu.edu on port 7007 at the given time and wait for further instructions. Anyone is welcome to join.
| Chat Group 1: Click here for details | |
| Chat Group 2: Click here for details | |
| Chat Group 3: Click here for details | |
| Final Assignment: click here for details |
Unit Queues;
{ A queue is a collection of elements having a head and a tail. Elements }
{ can only be inserted at the tail of the queue, and they can only be }
{ retrieved from the head of the queue. In other words, the element that }
{ has entered the queue first can leave it first (FIFO - First In, First }
{ Out). }
Type
StdElement = Char;
NodePointer = ^Node;
Node = Record
Data: StdElement;
Next: NodePointer;
end;
Queue = Record
Head : NodePointer;
Tail : NodePointer;
nnodes: longint;
end;
procedure Enqueue(var Q: Queue; el: StdElement);
{ PRE: The queue is not full }
{ POST: Q includes el as its most recently arrived element }
procedure Serve(var Q: Queue; var el: StdElement);
{ PRE: The queue is not empty }
{ POST: The least recently arrived (i.e. the 'oldest') element is removed }
{ from the queue, and returned in el }
function IsFull(Q: Queue): boolean;
{ PRE: none }
{ POST: If the queue is full, returns true, else returns false }
function IsEmpty(Q: Queue): boolean;
{ PRE: none }
{ POST: If the queue is emtpy, returns true, else returns false }
procedure MakeEmptyQueue(var Q: Queue);
{ PRE: none }
{ POST: Creates a valid, empty queue }
![]()