OS ALGORITMOS E ESTRUTURA DE DADOS
Por: luholsbach • 9/11/2020 • Trabalho acadêmico • 559 Palavras (3 Páginas) • 156 Visualizações
ATIVIDADE 3 – ALGORITMOS E ESTRUTURA DE DADOS
LUANNA SANTANA HOLSBACH DAL OLIO RA102343
1 – a) [pic 1]
b) [pic 2]
c) [pic 3]
d) [pic 4]
e) [pic 5]
2 – a) [pic 6]
b) [pic 7]
c) [pic 8]
d) [pic 9]
e)[pic 10]
3 – #include <stdio.h>
#define PILHA_MAX 100
struct Pilha {
int data[PILHA_MAX];
int size;
};
typedef struct Pilha Pilha;
void Pilha_Init(Pilha *S)
{
S->size = 0;
}
int Pilha_Top(Pilha *S)
{
if (S->size == 0) {
fprintf(stderr, "Erro: pilha vazia\n");
return -1;
}
return S->data[S->size-1];
}
void Pilha_Push(Pilha *S, int d)
{
if (S->size < PILHA_MAX)
S->data[S->size++] = d;
else
fprintf(stderr, "Erro: pilha cheia\n");
}
void Pilha_Pop(Pilha *S)
{
if (S->size == 0)
fprintf(stderr, "Error: pilha vazia\n");
else
S->size--;
}
void Pilha_Copy(Pilha *P, Pilha *Q)
{
int size = P->size;
for ( int i=0; i<size; i++)
{
int temp = Pilha_Top(P);
Pilha_Pop(P);
Pilha_Push(Q, temp);
printf("Copia %d da pilha P para a pilha Q\n", temp);
}
printf("-------------------------\n");
size = Q->size;
for( int i=0; i<size; i++)
{
int temp;
temp = Pilha_Top(Q);
Pilha_Pop(Q);
printf("Mostra %d da pilha Q\n",temp);
}
}
int main()
{
Pilha P, Q;
Pilha_Init(&P);
Pilha_Init(&Q);
for( int i=0; i<10; i++)
{
Pilha_Push(&P, i);
printf("Levar %d para a pilha P\n",i);
}
Pilha_Copy(&P, &Q);
printf("-------------------------\n");
return 0;
}
...