Stack.c - OpenLearning
//Stack.c
//Unofficial Practice Practical Exam
//Created by Michael Simarta
 
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include "Stack.h"
     
#define MAX 100
     
typedef struct _stack {
    char letters[MAX];
    int length;
} stack;
     
int top (Stack s){
    assert (s->length > 0);
    return s->letters[s->length-1];
}
     
void pop (Stack s) {
    assert (s->length > 0);
    s->length--;
}
     
void push (Stack s, char character) {
    assert (s->length < MAX);
    s->letters[s->length] = character;
    s->length++;
}
     
int length (Stack s) {
    return s->length;
}
     
Stack newStack(void) {

    Stack new = malloc (sizeof (stack));
    assert (new != NULL);

    new->length = 0;
    new->letters[0] = '\0';
 
    return new;
}

Download file: Stack.c (772 bytes)

Comments

Chat