Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C++ by 123 ( 9 years ago )
void Increase(Stack* stack)
{
 int* new_buffer = new int[stack->bufferSize * 2];
 for (int i = 0; i < stack>bufferSize; i++)
 {
  new_buffer[i] = stack->buffer[i];
 }
 stack->bufferSize = stack->bufferSize * 2;
 int* temp = stack->buffer;
 stack->buffer = new_buffer;
 delete temp;
}
void Push(Stack* stack,  int data)
{
 if (stack->top == stack->bufferSize)
{
  Increase(stack);
 }
 
 stack->buffer[stack->top++] = data;
 stack->bufferSize++;
 
}

int Pop(Stack* stack)
{ 
 stack->bufferSize--;
 return stack->buffer[stack->top--];
 
}

bool IsEmpty(Stack* stack)
{
 if (stack->top == NULL)
 {
  return true;
 }
 return false;
}
void Delete(Stack* stack)
{
 while (stack->top != NULL)
 {
  Pop(stack);
 }
}

 

Revise this Paste

Your Name: Code Language: