Pilha
Publicado por Leonardo Barrozo dos Santos 10/03/2003
[ Hits: 13.414 ]
Código fonte de um programa de pilha.
/* +-----------------------------------------------------------+ | Programador: Leonardo Barrozo dos Santos | | Descrição..: Programa que demonstra o funcionamente de | | ...........: uma pilha. | | Arquivo....: pilha.c | +-----------------------------------------------------------+ */ #include<stdio.h> #define MAX 10 //MAX = Quantidade de elementos máximos na pilha int topo=-1; //Indica o topo da pilha int pilha[MAX]; //Declaração da pilha void insere (void); //Função que insere itens na pilha void remover(void); //Função que remove itens da pilha void exibe (void); //Função que exibe os itens da pilha int main (void) { int op; for (;;) { system("clear"); //Limpa a tela, somente no Linux //--------------------------------- //MENU PRINCIPAL //--------------------------------- printf("\nMenu"); printf("\n\n1- Insere"); printf("\n2- Remover"); printf("\n3- Exibir"); printf("\n4- Sair"); printf("\n\nEntre a sua opção:"); //--------------------------------- scanf("%d",&op); switch(op) { case 1 : insere(); break; case 2 : remover(); break; case 3 : exibe(); break; case 4 : exit(0); default: printf("\nOpção Errada"); getchar(); break; } } } void insere (void) { int i; topo = topo + 1; if (topo == MAX) //Insere itens na pilha até que topo for diferente de MAX { printf("\nPilha Cheia"); topo = topo - 1; getchar(); } printf("Entre com o número (TOPO = %d): ",topo); scanf ("%d",&i); pilha[topo] = i; } void remover (void) { if (topo >= 0) { pilha[topo] = 0; topo = topo - 1; } else { printf("Pilha Vazia"); getchar(); } } void exibe (void) { int x; char s[80]; system("clear"); for (x=0;x<=topo;x++) printf("\n %d",pilha[x]); printf("\n (S)air"); scanf("%s",s); }
Converter Decimal para Binário em C
Controle de tráfego aéreo - filas dinâmicas
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (3)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)