Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- #define N 10
- int stackArr[N] = {}; //actua como un puntero constante, solo puede apuntar al valor [0]
- /*
- * Ni memoria dinanica ni strings en lab4
- */
- void imprimirArr(){
- for (int i = 0; i < N; i++) {
- cout<<stackArr[i] <<" ";
- }
- cout<<endl;
- }
- int size(int* stack){
- return stack - stackArr;
- }
- bool isEmpty(int* stack){
- return (size(stack)==0);
- }
- int push (int* &stack, int value){ //int* = tipo de dato, & = pasamos el valor o referencia de la variable se pone con & porque queremos modificar el puntero tambien, no solo el valor
- if(size(stack)==N) return 0;
- *stack = value;
- stack ++;
- return 1;
- }
- int peek (int* stack, int &value){
- if(isEmpty(stack)) return 0;
- value = *(stack-1);
- return 1;
- }
- int pop (int* &stack, int &value){
- if(isEmpty(stack)) return 0;
- stack --;
- value = *stack;
- return 1;
- }
- int main(int argc, char** argv) {
- int * stack;
- stack = stackArr; // = &stackArr[0] - apunto al indice 0 de stackArr
- imprimirArr();
- for (int i = 0; i < N; i++) {
- push(stack,i+1);
- }
- imprimirArr();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement