lista 1 estrutura

622 palavras 3 páginas
Pilhas

O funcionamento de uma pilha consiste numa estratégia chamada LIFO (last in, first out – último a entrar, primeiro a sair). Além disso, o único elemento que se pode acessar na pilha é o elemento do topo da mesma, ou seja, o último a ser empilhado. Pense numa pilha de pratos. Quando se vai lavá-los, você não começa retirando o que está mais abaixo, e sim o que está no topo da pilha. É basicamente assim que esse tipo de estrutura funciona.

Implementaremos as seguintes funções para Pilha:

typedef struct pilha Pilha; //redefinição do tipo struct pilha para simplesmente Pilha

- Pilha* pilha_cria (void); //cria uma pilha
- void pilha_insere (Pilha* p, float v); // empilha um novo elemento
- float pilha_retira (Pilha* p); //retira um elemento (o último)
- int pilha_vazia (Pilha* p); //verifica se a pilha está vazia
- void pilha_libera (Pilha* p); //esvazia toda a estrutura alocada para a pilha, liberando seus elementos

Podemos implementar uma pilha utilizando vetores, aonde os elementos serão armazenados, ocupando as primeiras posições do vetor. Dessa forma, se temos n elementos armazenados na pilha, o elemento vet[n-1] representa o do topo.

int inserir_No_Inicio(struct No **p_Raiz, char *p_String){ struct No *p_Novo; /** Alocação dinâmica da memoria */ if((p_Novo = (struct No *) malloc(sizeof(struct No))) == NULL ){ puts( "Falta Memoria\n"); return -1 ; } p_Novo->p_dados = p_String; p_Novo->p_prox = *p_Raiz; *p_Raiz = p_Novo;
}

int inserir_No_Fim(struct No **p_Raiz, char *p_String){ struct No *p_Novo; if(( p_Novo = (struct No *) malloc(sizeof(struct No))) == NULL ){ puts( "Falta Memoria\n"); return -1 ; } p_Novo->p_dados = p_String; p_Novo->p_prox = NULL; if(*p_Raiz == NULL) *p_Raiz = p_Novo; else{ struct No *e_atual; /*@ Elemento atual*/ e_atual = *p_Raiz; /*@ Primeiro elemento*/

Relacionados

  • Lista De Exercicios 1 Estrutura 1
    1682 palavras | 7 páginas
  • 1 Lista De Exercícios De Estrutura De Dados
    259 palavras | 2 páginas
  • Lista Programacao Estrutura Repeticao FICHA 1
    414 palavras | 2 páginas
  • 1a Lista Estrutura Atomica 2015 1 1
    453 palavras | 2 páginas
  • O trabalho
    5576 palavras | 23 páginas
  • estrututa de dados
    9613 palavras | 39 páginas
  • Adelina
    1475 palavras | 6 páginas
  • Tecnologia
    1318 palavras | 6 páginas
  • ESTRUTURA DE DADOS - LISTAS LINEARES
    2425 palavras | 10 páginas
  • Ciências
    965 palavras | 4 páginas