//----------------------------------------------------------------------------- // QueueTest.c // Another test client for Queue ADT //----------------------------------------------------------------------------- #include #include #include #include "Queue.h" int main(int argc, char* argv[]){ int i; Queue Q = newQueue(); Queue R = newQueue(); fprintf(stdout, "\n"); for(i=1; i<=10; i++){ Enqueue(Q, i); } printQueue(stdout, Q); fprintf(stdout, "\n"); for(i=1; i<=5; i++){ Dequeue(Q); } printQueue(stdout, Q); fprintf(stdout, "\n"); for(i=11; i<=15; i++){ Enqueue(Q, i); } printQueue(stdout, Q); fprintf(stdout, "\n"); for(i=16; i<=19; i++){ Enqueue(Q, i); } printQueue(stdout, Q); fprintf(stdout, "\n\n"); for(i=13; i<=19; i++){ Dequeue(Q); Enqueue(R, i); } printQueue(stdout, Q); fprintf(stdout, "\n"); printQueue(stdout, R); fprintf(stdout, "\n"); fprintf(stdout, "Q %s R\n\n", equals(Q, R)?"equals":"does not equal"); Enqueue(Q, 20); Enqueue(R, 200); printQueue(stdout, Q); fprintf(stdout, "\n"); printQueue(stdout, R); fprintf(stdout, "\n"); fprintf(stdout, "Q %s R\n\n", equals(Q, R)?"equals":"does not equal"); freeQueue(&Q); freeQueue(&R); return(EXIT_SUCCESS); } /* Output: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) (6, 7, 8, 9, 10) (6, 7, 8, 9, 10, 11, 12, 13, 14, 15) (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19) (13, 14, 15, 16, 17, 18, 19) (13, 14, 15, 16, 17, 18, 19) Q equals R (13, 14, 15, 16, 17, 18, 19, 20) (13, 14, 15, 16, 17, 18, 19, 200) Q does not equal R */