int main(){ const char *friends[] = { "Al", "Bob", "Carl" }; Stack stack; StackNew( &stack, sizeof(char*), &StringFree ); int x; for( x = 0; x < 3; x++ ){ char *copy = strdup( friends[x] ); StackPush( &stack, © ); } printf( "Stack Size: %i\n", stack.logical_length ); char *name = ""; for( x = 0; x < 3; x++ ){ StackPop( &stack, &name ); printf( "%s\n", name ); free(name); } printf( "Stack Size: %i\n", stack.logical_length ); StackDispose( &stack ); return 0; }
int main(void){ int a[]={10,20,30,40,50,60}; int array_size = sizeof(a)/sizeof(a[0]); int element_size = sizeof(int); int i; Stack stackInt; StackNew(&stackInt,element_size); for(i=0;i<array_size;i++){ StackPush(&stackInt,&a[i]); } int value; while(!StackEmpty(&stackInt)){ StackPop(&stackInt, &value); printf("Popped Value: %d\n",value); } StackDispose(&stackInt); return 0; }
int main() { const char *friends[] = {"xx", "jj", "kk"}; Stack stringStack; StackNew(&stringStack, sizeof(char*), freeFn); int i; for(i = 0; i < 3; ++i) { char *copy = strdup(friends[i]); StackPush(&stringStack, ©); } char *name; for(i = 0; i < 3; ++i) { StackPop(&stringStack, &name); printf("%s\n", name); free(name); } StackDispose(&stringStack); return 0; }