< C

Elemi adatszerkezetek

Verem tömbként

main.c
#include <stdio.h>
#include <stdlib.h>
#define MAX_VEREM_MERET 8
 
typedef struct {	
	int meret;
	int elemek[MAX_VEREM_MERET];
} t_verem;
 
t_verem * push(int elem, t_verem *verem) {	
	verem->elemek[verem->meret] = elem;
	verem->meret++;	
	return verem;
}
 
int pop(t_verem *verem) {	
	int elem = verem->elemek[verem->meret-1];
	verem->elemek[verem->meret-1] = 0;
	verem->meret--;
	return elem;
}
int main() {
	t_verem *verem;
	verem = (t_verem*) malloc(sizeof(t_verem));
	push(45, verem);
	verem = push(34, verem);
	verem = push(25, verem);
	printf("%d\n", verem->elemek[0]);
	printf("%d\n", verem->elemek[1]);
	printf("%d\n", verem->elemek[2]);
	printf("---------\n");
	printf("%d\n", pop(verem));
	printf("%d\n", pop(verem));	
 
	return 0;
}