Pilhas Encadeadas Detalhadamente
Publicado por kmash (última atualização em 09/05/2011)
[ Hits: 8.984 ]
Download implementacaoPILHAencadeada.cpp
Script de Pilha Encadeada em C++
Descrição:
PILHA ENCADEADA
- A pilha é dinamica
- Os itens são criados em tempo de execução
- A pilha é formada por nodos
- Cada nodo contém um item da pilha e o endereço do nodo que está imediatamente abaixo
- Há um nodo cabeça no topo da pilha
Segue no anexo toda a ESTRUTURA desse tipo de pilha.
//ESTRUTURA PILHA ENCADEADA //Arquivo: pilha.h (biblioteca) struct tnodo{ int item; tnodo *prox; }; struct stack{ tnodo *top; }; //PROTOTIPOS void init (stack *p); int empty(stack *p); void push(stack *p,int x); int pop(stack *p); ///////////////////////////////////////// //Arquivo: pilha.cpp //Implementando operações #include<stdio.h> #include "pilha.h" //init: faz a pilha ficar vazia (criando um nodo cabeça e fazendo o top apontar para ele void init(stack *p) { p->top=new tnodo; //alocando memoria p->top->prox=NULL; //iniciando pilha (pilha vazia por que o nodo 1 está NULL, NULL =fim da pilha } //empty: retorna 1 se a pilha esá vazia, caso contrário, retorna 0. int empty(stack *p) { if (p->top->prox==NULL) return 1; else return 0; } //push: insere o item x no topo da pilha p void push(stack *p,int x) { tnodo *aux; aux=new tnodo; aux->prox=p->top; p->top->item=x; p->top=aux; } //pop: retorna o item que está no topo da pilha p retirando-o da mesma int pop(stack *p) { if(empty(p)){ printf("Erro: pilha vazia\n"); exit(1); } else{ aux=p->top; p->top=p->top->prox; delete aux; return(p->top->item); } //printfStack: imprime os itens da pilha p void printStack(stack *p) { tnodo *aux=p->top->prox; while(aux!=NULL) { printf("%d\n",aux->item); aux=aux->prox; } }
Fila bancária utilizando lista simplisment encadeada
Programa recursivo para obter raiz quadrada
AA linux kernel modificado por minhe
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Firefox não abre em usuário não administradores (2)
Ubuntu com problemas no áudio (1)
Sempre que vou baixar algum pacote acontece o erro dpkg (8)
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (8)