Pilhas Encadeadas Detalhadamente
Publicado por kmash (última atualização em 09/05/2011)
[ Hits: 8.949 ]
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
Cálculo de logaritmo de um número por Série de Taylor em C
Estrutura de dados: Lista dinâmica duplamente encadeada
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Erro na atualização dos apps na barra de tarefas (8)
Microtik Wan IPv6 é Lan IPv4 (0)