Mercurial > sos > sos
view src/stack.c @ 2:b6182f00de82
The work I have so far
author | Jonathan Pevarnek <pevarnj@gmail.com> |
---|---|
date | Tue, 01 Mar 2011 02:39:27 -0500 |
parents | |
children | 0aa0ad9e1cc3 |
line wrap: on
line source
#include <stack.h> eltType pop(struct Stack *stack) { if(stack->isEmpty) { sPrint("ERROR: STACK IS EMPTY.\n"); return -1; } else if(stack->top == 0) { stack->isEmpty = 1; return stack->values[stack->top]; } else if(stack->top < 0) { return 0; //TODO figure out a better way to handle errors } else { return stack->values[stack->top--]; } } void push(struct Stack *stack, eltType val) { if(stack->isEmpty) { stack->isEmpty = 0; stack->values[stack->top] = val; } else { stack->values[++stack->top] = val; } } void initStack(struct Stack *stack) { stack->isEmpty = 1; stack->top = 0; }