Beispiel #1
0
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;
}
Beispiel #2
0
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;
    }
}
Beispiel #4
0
void push(struct ArrayStack *S, int data)
{
	if(IsStackFull(S))
	{
		printf("Stack is Full");
	}
	else
	{
		S->array[++S->top]=data;
	}
}