Baixe o app para aproveitar ainda mais
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; }
Compartilhar