49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#include <int_stack.h>
|
|
|
|
/*
|
|
* Minimum working example for int_stack.c.
|
|
*
|
|
* Author: Niclas Borlin (niclas@cs.umu.se)
|
|
*
|
|
* Version information:
|
|
* v1.0 2022-03-24: First public version.
|
|
* v1.1 2023-01-14: Added printouts at start/end of main.
|
|
*/
|
|
|
|
#define VERSION "v1.1"
|
|
#define VERSION_DATE "2023-01-14"
|
|
|
|
int main(void)
|
|
{
|
|
printf("%s, %s %s: Create typed integer stack.\n", __FILE__, VERSION, VERSION_DATE);
|
|
printf("Code base version %s (%s).\n\n", CODE_BASE_VERSION, CODE_BASE_RELEASE_DATE);
|
|
|
|
// Create the stack.
|
|
stack s=stack_empty();
|
|
|
|
for (int i=1; i<=3; i++) {
|
|
// Push value on stack.
|
|
s = stack_push(s, i);
|
|
}
|
|
|
|
printf("--STACK before popping--\n");
|
|
stack_print(s);
|
|
|
|
// Pop element from stack.
|
|
s=stack_pop(s);
|
|
|
|
printf("--STACK after popping--\n");
|
|
stack_print(s);
|
|
|
|
// Kill stack. Strictly not necessary for int_stack since it
|
|
// does not use any dynamic memory. Included for symmetry with
|
|
// stack.c.
|
|
stack_kill(s);
|
|
|
|
printf("\nNormal exit.\n\n");
|
|
return 0;
|
|
}
|