Buscar

Atividade 6 - Estruturas de Dados I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ESTRUTURA DE DADOS I
ATIVIDADES DA AULA 06
Faça um programa na linguagem C/C++ que implemente uma Lista por meio de um
vetor de inteiros, de tamanho n, alocado dinamicamente. A implementação deverá
contemplar as operações de busca, inserção e remoção de elementos na lista. Para isso,
o programa deverá apresentar um menu para que o usuário possa escolher a operação
desejada. Após cada operação realizada a Lista deverá ser apresentada na tela.
#include <iostream>
class Lista {
private:
int *array;
int tamanho;
int capacidade;
public:
Lista(int capacidade) {
this->capacidade = capacidade;
this->array = new int[capacidade];
this->tamanho = 0;
}
~Lista() {
delete[] array;
}
void exibirLista() {
std::cout << "Lista: ";
for (int i = 0; i < tamanho; i++) {
std::cout << array[i] << " ";
}
std::cout << std::endl;
}
int buscarElemento(int elemento) {
for (int i = 0; i < tamanho; i++) {
if (array[i] == elemento) {
return i;
}
}
return -1;
}
void inserirElemento(int elemento) {
if (tamanho < capacidade) {
array[tamanho] = elemento;
tamanho++;
} else {
std::cout << "Lista cheia. Impossível inserir." << std::endl;
}
}
void removerElemento(int elemento) {
int posicao = buscarElemento(elemento);
if (posicao != -1) {
for (int i = posicao; i < tamanho - 1; i++) {
array[i] = array[i + 1];
}
tamanho--;
} else {
std::cout << "Elemento não encontrado. Impossível remover." << std::endl;
}
}
};
int main() {
int capacidade, escolha, elemento;
std::cout << "Informe a capacidade da lista: ";
std::cin >> capacidade;
Lista minhaLista(capacidade);
do {
std::cout << "\nMenu:\n1. Exibir Lista\n2. Buscar Elemento\n3. Inserir
Elemento\n4. Remover Elemento\n0. Sair\nEscolha: ";
std::cin >> escolha;
switch (escolha) {
case 1:
minhaLista.exibirLista();
break;
case 2:
std::cout << "Informe o elemento a ser buscado: ";
std::cin >> elemento;
int posicao = minhaLista.buscarElemento(elemento);
if (posicao != -1) {
std::cout << "Elemento encontrado na posição " << posicao << std::endl;
} else {
std::cout << "Elemento não encontrado na lista." << std::endl;
}
break;
case 3:
std::cout << "Informe o elemento a ser inserido: ";
std::cin >> elemento;
minhaLista.inserirElemento(elemento);
minhaLista.exibirLista();
break;
case 4:
std::cout << "Informe o elemento a ser removido: ";
std::cin >> elemento;
minhaLista.removerElemento(elemento);
minhaLista.exibirLista();
break;
case 0:
std::cout << "Saindo do programa." << std::endl;
break;
default:
std::cout << "Opção inválida. Tente novamente." << std::endl;
}
} while (escolha != 0);
return 0;
}

Outros materiais