boolean push(Stack* stack,void* elementToPush){ void* address; if(IsStackFull(stack)) return false; address=stack->elements+(++(stack->stackinfo.top)*stack->stackinfo.elementSize); memcpy(address, elementToPush, stack->stackinfo.elementSize); return true; }
int push(void* st,void* elementToPush){ Stack* stack = (Stack*)st; void* address; if(IsStackFull(stack)){ stack->length *= 2; stack->elements = realloc(stack->elements, stack->length*sizeof(void*)); } stack->elements[++stack->top] = elementToPush; return 1; }
void Push(struct SimpleStack *s, int data){ if(IsStackFull(s)) { printf("Stack Overflow!!\n"); } else { s->arrayStack[++s->top]=data; } }
void push(struct ArrayStack *S, int data) { if(IsStackFull(S)) { printf("Stack is Full"); } else { S->array[++S->top]=data; } }