LSE ProgramaCompletoComMaisFuncoes final
575 palavras
3 páginas
//Programa para trabalhar com listas simplesmente encadeadas. Veja várias funções relativas aos exercícios.#include <iostream>
#include <cstdlib>
using namespace std;
//Tipo struct no { int dado; struct no *link; };
//Protótipos
no* insereFrente(no *, int ); void imprimir(no *); void substituirUltimo(no *, int ); no* removeFrente(no *); no *buscaSequencial(no *, int ); int contaNos(no *); no* insereFim(no *, int ); no* removeFim(no *);
//Prog. principal int main()
{
no *primeiro = NULL, //inicializa a primeira lista *achei;
int n, valor, cont, posicao;
cout << "PROGRAMA BASICO COM LISTAS SIMPLESMENTE ENCADEADAS.\n\n" ; do { cout << "Informe a quantidade de nos para criar a lista simplesmente encadeada (>= 0) : "; cin >> n; if (n < 0) cout << "ERRO : quantidade invalida de nos." << endl;
}while (n < 0);
//Loop que cria a lista com n nós. Note que, se n for zero, a lista será vazia e não entraremos no loop abaixo.
for (cont = 1; cont <= n; cont++) { cout << "Digite um valor para inserir na frente da lista : "; cin >> valor; primeiro = insereFrente(primeiro, valor); }
if (primeiro == NULL) cout << "Lista vazia. " << endl; else {
cout << "Lista resultante : " ; imprimir(primeiro);
cout << "\nDigite um novo valor para substituir o ultimo dado da lista : " ;
cin >> valor; substituirUltimo(primeiro,valor);
cout << "\nLista resultante (apos substituicao) : "; imprimir(primeiro);
primeiro = removeFrente(primeiro); if (primeiro == NULL) //testa se a lista ficou vazia cout << "\nLista vazia." << endl; else { cout << "\nLista resultante apos a remocao do 1o. no da 1a. lista : " ; imprimir(primeiro); } }
cout << "\n\nBusca sequencial ... " << endl << "Digite um valor para ser procurado na lista : " ; cin >> valor; achei = buscaSequencial(primeiro,valor); if (achei == NULL) cout << valor << " nao