Pilhas Encadeadas Detalhadamente
Publicado por kmash (última atualização em 09/05/2011)
[ Hits: 9.015 ]
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; } }
Dangerous Tux Game com gráficos
Classe para manipulação e conversão de datas para std::string em C++
3 EP - Poli USP - Angry Birds (angry bixos)
Listando processos via /proc/PID
Funções com número variável de argumentos
Nenhum coment�rio foi encontrado.
Máquina perereca - até onde é possível o uso de Linux?
Mitigação - O que é e quando é "seguro" desabilitar
A arte e a prática da Disciplina a longo prazo
Topgrade - Atualize seu sistema Linux inteiro com um único comando
Como anda a saúde do disco rígido?
Reescalando a tela hd para fullhd com o xrandr