programando

626 palavras 3 páginas
SCC-502 Algoritmos e Estruturas de Dados 1

M. Cristina/Jorge

Lista de Exercícios 1 - Pilhas
A lista de exercícios deverá ser feita individualmente e enviada para o e-mail
“jorgehpopae@gmail.com” com o assunto “LISTA_1 - _”, por exemplo, “LISTA_1 – Jorge_9999999”. O e-mail deve conter no anexo apenas 1 arquivo compactado,
“LISTA1__.zip”,
por exemplo, “LISTA1_Jorge_9999999.zip”. Neste arquivo, devem estar os exercícios resolvidos em arquivos separados, com nomes “exercicio1.c”, “exercicio2.c”, etc. A data limite para entrega é 20/09.
Dado que as funções abaixo estão implementadas em um arquivo “TADPilha.c”, resolva os exercícios. Atenção: a pilha só pode ser acessada por meio das operações definidas no arquivo “TADPilha.c”.
#define TAMPILHA 100 typedef struct{ int topo; int itens[TAMPILHA];
} Pilha;
//nao ocorreu erro: flagErro=0;
//erro: flagErro=1;
Pilha* create(int *flagErro); void push(pilha *p, int valor, int *flagErro); int pop(pilha *p, int *flagErro); int empty(pilha *p, int *flagErro);
1. Desenvolva um algoritmo para testar se uma pilha P1 tem mais elementos que uma pilha P2. Considere que P1 e P2 já existem.
O protótipo da função deve ser: int testaMaisElementos(pilha *P1, pilha *P2);
//A função retornará 1 para verdadeiro (P1 > P2) e 0 para falso.

2. Desenvolva uma operação para transferir elementos de uma pilha P1 para uma pilha
P2 (cópia). Siga o protótipo abaixo: void transferirElementos(pilha *P1, pilha *P2, int *flagErro);
//A função retornará 0 em *flagErro para sucesso e 1 para erro
3. Desenvolva um algoritmo para inverter a posição dos elementos de uma pilha P. Você pode criar pilhas auxiliares, se necessário. Mas o resultado precisa ser dado na pilha P. void inverter (pilha *P);
4. Desenvolva um algoritmo para testar se duas pilhas P1 e P2 são iguais. Duas pilhas são iguais se possuem os mesmos elementos, na mesma ordem. int iguais(pilha *p1, pilha *p2);
//retorna 1 para p1 == p2 e 0 para p1 != p2

Relacionados

  • Programando
    37179 palavras | 149 páginas
  • Programando
    458 palavras | 2 páginas
  • Programando Android
    11469 palavras | 46 páginas
  • Programando em shell
    2637 palavras | 11 páginas
  • Programando em C#
    1084 palavras | 5 páginas
  • Programando Com Alice
    714 palavras | 3 páginas
  • Programando em C++
    1943 palavras | 8 páginas
  • Programando em Java
    4152 palavras | 17 páginas
  • Programando em c
    7808 palavras | 32 páginas
  • C++ - Programando
    9834 palavras | 40 páginas