Questão 1444468

Tecnologia da Informação · 2024

Questão

ID 1444468

Disciplina: Tecnologia da Informação

Assunto: Pilhas

Ano: 2024 Banca: Instituto Verbena Órgão: Prefeitura Municipal de Rio Branco


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 // Tamanho máximo da estrutura

// Definindo a estrutura

typedef struct {

int items[MAX_SIZE];

int inicio; // Índice do inicio da estrutura

} Estrutura;

// Função para inicializar a estrutura

void initializeEstrutura(Estrutura *estrutura) {

estrutura->inicio = -1;

}

// Função para verificar se a estrutura está vazia

int isEmpty(Estrutura *estrutura) {

return estrutura->inicio == -1;

}

// Função para verificar se a estrutura está cheia

int isFull(Estrutura *estrutura) {

return estrutura->inicio == MAX_SIZE - 1;

}

// Função para inserir um elemento na estrutura

void insert(Estrutura *estrutura, int value) {

if (isFull(estrutura)) { // Verifica se a estrutura está cheia

printf("Erro: Estrutura cheia!\n");

return;

}

estrutura->items[++estrutura->inicio] = value;

}

// Função para remover um elemento da estrutura

int extract(Estrutura *estrutura) {

if (isEmpty(estrutura)) { // Verifica se a estrutura está vazia

printf("Erro: Estrutura vazia!\n");

exit(1);

}

return estrutura->items[estrutura->inicio--];

}

// Função para visualizar o elemento no inicio da estrutura sem

removê-lo

int peek(Estrutura *estrutura) {

if (isEmpty(estrutura)) { // Verifica se a estrutura está vazia

printf("Erro: Estrutura vazia!\n");

exit(1);

}

return estrutura->items[estrutura->inicio];

}

int main() {

Estrutura estrutura;

initializeEstrutura(&estrutura); // Inicializa a estrutura

// Testando as operações da 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:

Alternativas da questão 1444468
Pular para o conteúdo principal