// EsercitazioneSuClasse.cpp : definisce il punto di ingresso dell'applicazione console.
//
#include <iostream>
#include <iomanip>
#include "ClasseListaNumeri.h"
using namespace std;
void SuccessioneNumeri::inserisciInCoda(int numero)
{
Lista *ptr;
ptr = &listaNumeri;
if (ptr->nextElemento == NULL)
{
ptr = new Lista;
ptr->numero = numero;
ptr->nextElemento = NULL;
}
else
{
Lista *ptrAux;
ptr = ptr->nextElemento;
while (ptr->nextElemento !=NULL)
ptr = ptr->nextElemento;
ptrAux = new Lista;
ptrAux->numero = numero;
ptrAux->nextElemento = NULL;
ptr->nextElemento = ptrAux;
}
}
int SuccessioneNumeri::stampaListaElementiLifo()
{
Lista *ptr;
ptr = &listaNumeri;
if (ptr->nextElemento != NULL)
{
return ptr->numero;
stampaListaElementiLifo();
}
}
int SuccessioneNumeri::stampaListaElementiFifo()
{
Lista *ptr;
Lista *lastPtr;
ptr = &listaNumeri;
do
{
cout << ptr->numero;
cout << endl;
lastPtr = ptr;
ptr = ptr->nextElemento;
} while (lastPtr->nextElemento != NULL);
}
int SuccessioneNumeri::cancellaUltimoElemento()
{
Lista *ptr;
Lista *lastPtr;
ptr = &listaNumeri;
if (ptr->nextElemento == NULL)
{
return -1;
}
//ptr = ptr->nextElemento;
//lastPtr = lastPtr->nextElemento;
lastPtr = ptr;
do
{
if (ptr->nextElemento == NULL)
{
lastPtr->nextElemento = NULL;
return ptr->numero;
}
lastPtr = ptr;
ptr = ptr->nextElemento;
} while (1);
}
int SuccessioneNumeri::visualizzaUltimoElemento()
{
Lista *ultimoElemento;
ultimoElemento = &listaNumeri;
if (ultimoElemento->nextElemento == NULL)
{
return -1;
}
do
{
if (ultimoElemento->nextElemento == NULL)
{
return ultimoElemento->numero;
}
ultimoElemento = ultimoElemento->nextElemento;
} while (1);
}
int SuccessioneNumeri::cancellaElementoFifo()
{
Lista *ptr;
ptr = &listaNumeri;
if (ptr->nextElemento == NULL)
{
return -1;
}
else
{
//ptr = ptr->nextElemento;
}
}
int SuccessioneNumeri::visualizzaElementoFifo()
{
Lista *primoElemento;
primoElemento = &listaNumeri;
if (primoElemento->nextElemento == NULL)
{
return -1;
}
else
{
return primoElemento->numero;
}
}