Separando par e impar na pilha em C

256 palavras 2 páginas
A pilha é uma estrutura de dados que armazena os dados na ordem LIFO (Last In First Out) - em portuguêsÚltimo a Entrar Primeiro a Sair). A recuperação de dados será feita na ordem inversa de sua inserção.

#include
#include
#include

typedef struct { int elements[10]; int top; // Índice que aponta o valor do topo int maxSize;
} Stack;

void inicializar( Stack *myStack ) { myStack->top = -1; myStack->maxSize = 10;
}

void inicializarPilhaOriginal( Stack *myStack ) { printf( "Inicializando a pilha\n" ); int index = 0; int value = 10; for( index; value>0; index++ ) { printf( "\tP[%d]=%d\n", index, value ); myStack->elements[ index ] = value--; } myStack->top = 9; myStack->maxSize = 10; printf( "Pilha inicializada!!\n" );
}

int peek( Stack *myStack ) { return myStack->elements[ myStack->top ];
}

/* * Verifica se a pilha está vazia * 1 - True * 0 - False **/ int isEmpty( Stack *myStack ) { if( myStack->top == -1 ) return 1; // Está vazio return 0;
}

/* * Verifica se a pilha está cheia * 1 - True * 0 - False **/ int isFull( Stack *myStack ) { if( myStack->top == myStack->maxSize-1 ) return 1; // Está cheia return 0;
}

/* * Retira o elemento do topo da pilha; * Retorna o elemento do topo; * -1 caso a pilha esteja vazia. **/ int pop( Stack *myStack ) { // Só pode retirar da pilha se exister elemento na pilha if( isEmpty( myStack ) ) return -1; return myStack->elements[ myStack->top-- ];
}

/* Coloca valor na pilha * 0 - Operação nao foi feita * 1 - Operação foi feita **/ int push( Stack *myStack, int element ) { if( isFull( myStack ) ) return 0; myStack->elements[ ++myStack->top ] = element; return 1;
}

Relacionados

  • sociologia
    2380 palavras | 10 páginas
  • Cadernos de Exercicios TADS 1
    7094 palavras | 29 páginas
  • Livro Teoria da Computa
    93232 palavras | 373 páginas
  • aula
    2213 palavras | 9 páginas
  • Ftc Lista2
    5943 palavras | 24 páginas
  • algortimo
    4951 palavras | 20 páginas
  • Zica
    13735 palavras | 55 páginas
  • Matemática
    14006 palavras | 57 páginas
  • P.p.c.p têxtil
    6285 palavras | 26 páginas
  • Mimi
    35652 palavras | 143 páginas