/* stek.c - definisanje operacija nad stekom * (implementacija preko nizova) */ #include #include "stek.h" #define Duzina 20 //Duzina steka static int stek[ Duzina ]; // Stek static int index_vrha = -1; // Prazan stek void ispis_steka( void ) { // Ispisivanje steka int i; printf(" STEK: "); for( i = 0; i <= index_vrha; i++ ) printf("%c \n", stek[i] ); putchar('\n'); } int vrh( void ) { // Uvid u vrh steka if( index_vrha == -1 ) printf(" Prazan stek\n"); else return stek[ index_vrha ]; } void pop( void ) { // Istiskivanje sa steka if( index_vrha == -1 ) printf(" Prazan stek\n"); else index_vrha--; } boolean push( int x ) { // Potiskivanje na stek if( index_vrha == Duzina - 1 ){ //Ima li slobodnih pozicija? printf(" Stek popunjen\n"); return N;} else { stek[ ++index_vrha ] = x; return T; } } boolean prazno( void ) { return index_vrha = -1; }