Você está na página 1de 1

EXERCÍCIOS EM SALA

Profa. Lúcia Guimarães


Faça o teste de mesa para o programa abaixo

int main() push(dois,5) insereFila(F2,pop(um))


{ push(um,6) insereFila
Pilha *um, *dois; int a; push(dois,7) (F1,retiraFila(F2))
Fila * F1, F2 insereFila(F1,4) push(dois,retiraFila(F2)))
um=CriaPilha(); dois= insereFila(F1,6) push(dois,retiraFila(F1))
CriaPilha (); insereFila(F1,9) push(um,pop(dois))
F1 = CriaFila(); F2= insereFila(F1,14) insereFila(F1,
CriaFila(); insereFila(F2,16) retiraFila(F2));
push(um,1) insereFila(F2,19) }
push(dois,3) insereFila(F2,41)
push(um,4) insereFila(F2,12)
1. Dada as seguintes Estruturas e Funções / Procedimentos
typedef struct no typedef struct fila typedef struct pilha
{ {
{
No * ini;
struct no *prim;
int info; No * fim;
} Fila; } Pilha;
struct no *p;
} No;

FUNÇÕES / PROCEDIMENTOS:
Pilha * CriaPilha(); Fila* CriaFila ()
void push(Pilha *, int); void InsereFila (Fila* f, int v)
int pop(Pilha *); int RetiraFila (Fila* f)
Pede-se:
• Elabore um procedimento / função que conte quantos números pares possui uma fila e retorne
esta quantidade
• Elabore um procedimento / função que apague a informação 15 de uma fila se ela existir
• Elabore um procedimento / função que dado uma fila, transforme-a em duas filas uma com os
números pares e outra com os ímpares
• Elabore um procedimento / função que inverta uma fila

Você também pode gostar