Relatorio pilha, fila, lista e array

2216 palavras 9 páginas
SENAI - QSPP - Trabalho Estrutura de Dados

Analise desenvolvimento de Sistemas

Professor

Nome
Goiania, 29 de agosto de 2013

Goiania, 29 de agosto de 2013 – Analise desenvolvimento de Sistemas
Pesquisa professor Heugenio sobre pilha, fila, lista e array.
Pilha
Pilha é uma estrutura de dados que interage com remoção e inserção de dados. Existe uma regra de operação seguida da seguinte forma, sempre que houver uma remoção, o elemento removido é o que esta na estrutura há menos tempo. Sempre o primeiro objeto inserido na fila é o ultimo a ser descartado, também é conhecido como LIFO (Last-In-First-Out). Existem alguns exemplos como funções recursivas em compiladores, mecanismo de desfazer/refazer dos editores de texto, navegação entre paginas web etc. Uma implementação da pilha é realizada através de vetor que seria uma alocação de memoria para elementos ou listas encadeadas. Um exemplo para implementação deveria ser da seguinte forma:
- Informar uma capacidade no caso de implementação sequencial – vetor;
- Empilhar usando o elemento do parâmetro “push”;
- Desempilhar “pop”;
- Mostrar o topo;
- Verificar se a pilha está vazia com “isEmpty”;
- Verificar se a pilha esta cheia com “isFull – implementação sequencial - vetor”.
Supondo uma piçha com capacidade para 5 elementos (5 nós).

Na realidade a remoção de um elemento da pilha é realizada apenas alterando-se a informação da posição do topo.

Veja o algoritmo a seguir para uma pilha de números reais:
#include

struct Pilha {

int topo; /* posição elemento topo */ int capa; float *pElem;
};

void criarpilha( struct Pilha *p, int c ){ p->topo = -1; p->capa = c; p->pElem = (float*) malloc (c * sizeof(float));
}
int estavazia ( struct Pilha *p ){

if( p-> topo == -1 )

return 1; // true

else

return 0; // false
}

int estacheia ( struct Pilha *p ){

if (p->topo == p->capa - 1)

return 1;

Relacionados

  • Campo Minado
    25216 palavras | 101 páginas
  • Criptografia
    24229 palavras | 97 páginas
  • Aprenda java
    23768 palavras | 96 páginas
  • modelo de abordagem
    20381 palavras | 82 páginas
  • Análise e Desenvolvimentos de Sistemas
    5273 palavras | 22 páginas
  • Estrutura de dados Caelum
    7568 palavras | 31 páginas
  • ATPS Analise e Complexidade de Algoritmos
    1880 palavras | 8 páginas
  • Sistemas de informação
    2158 palavras | 9 páginas
  • Programação - c - roteiros de trabalho
    6471 palavras | 26 páginas
  • ATPS ED 2
    1633 palavras | 7 páginas