//----------------------------------------------------------------------------- // StackTest.c // A test client for Stack ADT //----------------------------------------------------------------------------- #include #include #include #include "Stack.h" int main(int argc, char* argv[]){ int i; Stack S = newStack(); Stack T = newStack(); fprintf(stdout, "\n"); for(i=1; i<=10; i++){ push(S, i); } printStack(stdout, S); fprintf(stdout, "\n"); for(i=11; i<=18; i++){ push(S, i); } printStack(stdout, S); fprintf(stdout, "\n"); for(i=1; i<=9; i++){ pop(S); push(T, i); } printStack(stdout, S); fprintf(stdout, "\n"); printStack(stdout, T); fprintf(stdout, "\n"); fprintf(stdout, "S %s T\n\n", equals(S, T)?"equals":"does not equal"); push(S, 10); push(T, 100); printStack(stdout, S); fprintf(stdout, "\n"); printStack(stdout, T); fprintf(stdout, "\n"); fprintf(stdout, "S %s T\n\n", equals(S, T)?"equals":"does not equal"); freeStack(&S); freeStack(&T); return(0); } /* Output: (10, 9, 8, 7, 6, 5, 4, 3, 2, 1) (18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1) (9, 8, 7, 6, 5, 4, 3, 2, 1) (9, 8, 7, 6, 5, 4, 3, 2, 1) S equals T (10, 9, 8, 7, 6, 5, 4, 3, 2, 1) (100, 9, 8, 7, 6, 5, 4, 3, 2, 1) S does not equal T */