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> using namespace std; int MAXTAM; int *Lista; int preenchidos = 0; int Frente, Tras; int busca(int bus){ int i = 0; while( i < MAXTAM){ if(Lista[i] == bus){ return i; } i++; } return -1; } void insere(int x){ if(preenchidos < MAXTAM){ if(busca(x) == -1){ for(int i=0; i<MAXTAM; i++){ if (busca(x) == -1){ Lista[preenchidos] = x; preenchidos = preenchidos + 1; } } }else{ cout<< "Elemento já existe "<< endl; } }else{ cout<< "Overflow" << endl; } } void remover(int x){ int indice, valorRecuperado; if (preenchidos != 0){ indice = busca(x); if(indice != -1){ valorRecuperado = Lista[indice]; for(int i = indice; i< preenchidos; i++){ Lista[i] = Lista[i+1]; } preenchidos = preenchidos - 1; }else{ cout << "Elemento não existe! "<<endl; } }else{ cout << "Underflow" << endl; } } int main(){ int opcao, bus, num, x; cout << "Informe o tamanho do vetor: "<< endl; cin >> MAXTAM; Lista = new int[MAXTAM]; for(int i = 0; i < MAXTAM; i++){ cout << "Informe o indice " << i << " do vetor : "<< endl; cin >> Lista[i]; preenchidos = preenchidos + 1; } do{ cout << "MENU DE OPCAO: " << endl; cout << "--------------------------------" << endl; cout << "PARA BUSCA: 1" << endl; cout << "PARA INSERCAO: 2" << endl; cout << "PARA REMOCAO: 3" << endl; cout << "PARA SAIR: 0" << endl; cout << "--------------------------------" << endl<< endl; cin >> opcao; switch(opcao){ case 1: cout << "Qual numero voce deseja buscar: "<< endl; cin >> bus; if(busca(bus) == -1){ cout << "Esse numero nao esta na lista: "<< endl; }else{ cout << "Numero buscado esta no indice " <<busca(bus) << endl; } break; case 2: cout << "Qual numero voce deseja inserir: "<< endl; cin >> num; insere(num); break; case 3: cout << "Qual numero voce deseja remover: "<< endl; cin >> x; remover(x); break; } for(int i = 0; i < MAXTAM; i++){ cout << Lista[i]<< " "; } cout<< endl<<endl; }while(opcao != 0); delete[] Lista; return 0; }
Compartilhar