Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Questões de Pilhas Encadeadas, Exercícios de Estruturas de Dados e Algoritmos

Lista de exercícios de Estrutura de Dados sobre pilhas encadeadas.

Tipologia: Exercícios

Antes de 2010

Compartilhado em 29/11/2010

samuel-santos-22
samuel-santos-22 🇧🇷

4.6

(41)

262 documentos

1 / 2

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Estrutura de Dados I Prof: Alex Sandro C. Rêgo
Disciplina:Estrutura de Dados
Professor:Alex Sandro da C. Rêgo
URL : www.alex.buscapb.com.br/ed1
Aluno:
Pilha Encadeada
Observações:
*Otrabalho deverá ser ent regue em disquete ou por e-mail: [email protected]
* O código fonte deverá ser devidamente indenta do e comentado de forma que facilite a leitura e compreensão.
*Grupo de 2 pessoas.
Objetivo:
*Implementar uma pil ha dinâmica (simplesmente encadeada) e suas pri ncipais operações
1) Desenvolva um programa em C com as principais operações de uma pilha utilizando encadeamento.
As operações devem obedecer os seguintes protótipos e definições
// Definicao de um no da pilha
typedef struct stnopilha{
char dado[5]; // informacao do no
struct stnopilha* prox; // ponteiro para o proximo no
}no;
typedef no* pilha;
void criapilha( pilha *p);
int pilhavazia(pilha p);
int empilha(pilha *p, char *valor);
int desempilha(pilha *p, char *valor);
int elementotopo(pilha p, char *valor);
int imprime(pilha p);
int tamanho(pilha p);
Dicas:
Considere a pilha como uma lista simplesmente encadeada em que toda a operação de
empilhamento faça com que seja criado um nó no início da pilha. Portanto, a pilha sempre vai
apontar para o elemento do topo. Lembre-se que toda a operação de desempilhamento
também é realizada através do topo.Observe a ilustração:
Implemente uma função pilha* criaNodo() para criar um nodo com alocação dinâmica. Ao
invés de ficar sempre repetindo a instrução de malloc(), criaNodo() será sempre chamada para
fazer esse papel.
2) Desenvolva uma função para retornar o sub-topo da pilha, sem desempilhar nenhum elemento.
int subTopo(pilha p, char *valor);
7
Lista
pf2

Pré-visualização parcial do texto

Baixe Questões de Pilhas Encadeadas e outras Exercícios em PDF para Estruturas de Dados e Algoritmos, somente na Docsity!

Estrutura de Dados I Prof: Alex Sandro C. Rêgo

Disciplina : Estrutura de Dados Professor : Alex Sandro da C. Rêgo URL : www.alex.buscapb.com.br/ed

Aluno :

Pilha Encadeada

**Observações: *** O trabalho deverá ser entregue em disquete ou por e-mail: [email protected]

  • O código fonte deverá ser devidamente indentado e comentado de forma que facilite a leitura e compreensão.
  • Grupo de 2 pessoas.

**Objetivo: *** Implementar uma pilha dinâmica (simplesmente encadeada) e suas principais operações

  1. Desenvolva um programa em C com as principais operações de uma pilha utilizando encadeamento. As operações devem obedecer os seguintes protótipos e definições

// Definicao de um no da pilha typedef struct stnopilha{ char dado[5]; // informacao do no struct stnopilha* prox; // ponteiro para o proximo no } no;

typedef no* pilha;

void criapilha(pilha *p); int pilhavazia(pilha p); int empilha(pilha *p, char *valor); int desempilha(pilha *p, char *valor); int elementotopo(pilha p, char *valor); int imprime(pilha p); int tamanho(pilha p);

Dicas:  Considere a pilha como uma lista simplesmente encadeada em que toda a operação de empilhamento faça com que seja criado um nó no início da pilha. Portanto, a pilha sempre vai apontar para o elemento do topo. Lembre-se que toda a operação de desempilhamento também é realizada através do topo. Observe a ilustração:

 Implemente uma função pilha criaNodo()* para criar um nodo com alocação dinâmica. Ao invés de ficar sempre repetindo a instrução de malloc(), criaNodo() será sempre chamada para fazer esse papel.

  1. Desenvolva uma função para retornar o sub-topo da pilha, sem desempilhar nenhum elemento.

int subTopo(pilha p, char *valor);

Lista 7

Estrutura de Dados I Prof: Alex Sandro C. Rêgo

  1. Desenvolva uma rotina para desempilhar n elementos a partir do topo da pilha.

int desempilhaN(pilha p);

  1. Desenvolva uma rotina para desempilhar todos os elementos da pilha (esvaziar a pilha).

void esvaziar(pilha *p);

  1. Desenvolva uma rotina para retornar o elemento que está na base da pilha , sem desempilhar nenhum elemento. (Dica: use outra pilha auxiliar).

int base(pilha p);

  1. Faça um programa que manipule uma pilha encadeada utilizando menu (Aproveite a estrutura do menu criado na lista de exercícios 6). Exiba as seguintes opções:

Editor de Pilha v2. ================ 1- Inicializar 2- Empilhar 3- Desempilhar 4- Elemento do topo 5- Imprimir pilha 6- Esvaziar a pilha 7- Base da pilha 8- Tamanho da pilha 9- Desempilha N elementos 10- Mostrar sub-topo

Digite sua opção: [ ]

Observações:   O programa deve fazer o tratamento para todas as operações de uma pilha. Não deixe que o usuário tente empilhar algum elemento sem que a pilha tenha sido inicializada;   Mostre mensagens quando algum alerta de pilha vazia ou cheia for emitido;   Ao exibir o elemento do topo, não desempilhe o conteúdo da pilha!!!!   Ao desempilhar um elemento da pilha, mostre o valor que estava no topo.   O programa deve ser de fácil utilização (Mostre sempre as mensagens para que o usuário saiba o que deve ser feito).