diff --git a/stack.c b/stack.c index 27469186a0c3fb480eb73d281b64eac8d52ed6bd..4699c297f6e1c6cb98bf59576eee848c6dd5b544 100644 --- a/stack.c +++ b/stack.c @@ -16,3 +16,11 @@ void stack_peek(stack s, int *value){ *value = s.data[s.top]; } } + +void stack_print(const stack s) { + printf(" TOP\n--------------------\n"); + for (int* spot = s.data + s.top; spot >= s.data; --spot) { + printf("%8d | %12d\n", spot - s.data, *spot); + } + printf("--------------------\n BOTTOM\n"); +} diff --git a/stack.h b/stack.h index 8da80c2f2fff5493b622780eb35d4157b1362621..2ae0c05da8435a16f153938a7b07ab72b83b5282 100644 --- a/stack.h +++ b/stack.h @@ -11,4 +11,6 @@ void stack_init(stack *stack); void stack_peek(stack s, int *value); +void stack_print(const stack s); + #endif