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

Relacionados