

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Estruturas de Dados são formas de organizar sistematicamente os dados em um programa definindo as operações que podem ser utilizadas para manipular os dados naquela estrutura. As estruturas básicas são diferentes entre si, em geral, na forma de inserir, retirar e organizar os dados internamente. Neste sentido, analise o seguinte código de uma estrutura de dados escrita na linguagem C.
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100 /
/
typedef struct {
int items[MAX_SIZE];
int inicio; /
} Estrutura;
/
void initializeEstrutura(Estrutura *estrutura) {
estrutura->inicio = -1;
}
/
int isEmpty(Estrutura *estrutura) {
return estrutura->inicio == -1;
}
/
int isFull(Estrutura *estrutura) {
return estrutura->inicio == MAX_SIZE - 1;
}
/
void insert(Estrutura *estrutura, int value) {
if (isFull(estrutura)) { /
printf("Erro: Estrutura cheia!\n");
return;
}
estrutura->items[++estrutura->inicio] = value;
}
/
int extract(Estrutura *estrutura) {
if (isEmpty(estrutura)) { /
printf("Erro: Estrutura vazia!\n");
exit(1);
}
return estrutura->items[estrutura->inicio--];
}
/
removê-lo
int peek(Estrutura *estrutura) {
if (isEmpty(estrutura)) { /
printf("Erro: Estrutura vazia!\n");
exit(1);
}
return estrutura->items[estrutura->inicio];
}
int main() {
Estrutura estrutura;
initializeEstrutura(&estrutura); /
/
insert(&estrutura, 10);
insert(&estrutura, 20);
insert(&estrutura, 30);
printf("Elemento no inicio da estrutura: %d\n",
peek(&estrutura));
printf("Removendo: %d\n", extract(&estrutura));
printf("Removendo: %d\n", extract(&estrutura));
printf("Removendo: %d\n", extract(&estrutura));
printf("A estrutura está vazia? %s\n", isEmpty(&estrutura) ?
"Sim" : "Não");
return 0;
}
O código apresentado é condizente com a estrutura de dados:
Lista.
Fila.
Pilha.
Árvore.