Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Programação II Estruturas de Dados
Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
2
Pilha: Implementação de pilha com Lista encadeada (alocação dinâmica)
. . . O endereço de uma lista encadeada é o endereço da seu primeiro nó Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
3
Pilha: Implementação Continuação
A lista ligada ou encadeada é uma seqüência de nós ou células onde: Cada nó contem: dado de algum tipo Endereço do nó seguinte Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
4
Pilha: Implementação Continuação
Se P é o endereço de um nó, então: P->conteudo é o conteúdo do nó P->prox é o endereço do próximo nó conteúdo próximo Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
5
Pilha: Implementação Implementação de pilha com Vetor
Definição das operações Pilha* pilha_cria(void); void pilha_push(Pilha* p , float v); float pilha_pop(Pilha* p); int pilha_Vazia(Pilha* p); void pilha_libera(Pilha* p); Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
6
Pilha: Implementação Continuação
Implementação de pilha com Lista encadeada (alocação dinâmica) Definição da Estrutura de Dados da lista struct lista{ float info; struct lista* prox; }; typedef struct lista Lista; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
7
Pilha: Implementação Continuação
Implementação de pilha com Lista encadeada (alocação dinâmica) Definição da Estrutura de Dados do topo da pilha // topo da pilha struct pilha { Lista * topo; }; typedef struct pilha Pilha; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
8
Pilha: Implementação Continuação
Criar a pilha Pilha* pilha_cria(void){ Pilha* P = (Pilha*) malloc(sizeof(Pilha)); P->topo = NULL; // inicializa como zero elemento return P; } P Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
9
Pilha: Implementação Continuação
Função Empilhar void pilha_push(Pilha* p , float v){ Lista* L = (Lista*) malloc(sizeof(Lista)); L->info = v; L->prox = p->topo; p->topo = L; } Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
10
Função desempilhar float v ; Lista* T; if (pilha_vazia(p)){
float pilha_pop(Pilha* p){ float v ; Lista* T; if (pilha_vazia(p)){ printf(" pilha vazia.\n"); exit(1); // aborta o programa } // retira elemento do topo T= p->topo; v= T->info; p->topo = T->prox; free(T); // libera o nó T return v; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
11
Pilha: Implementação Continuação
Função testar pilha Vazia int pilha_vazia(Pilha* p){ return (p->topo == NULL); } Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.