//
// main.cpp
// Liste
//
// Created by alessandro barazzuol on 17/07/21.
// Copyright © 2021 Alessandro Barazzuol. All rights reserved.
//
#include <iostream>
#include<cstdlib>
#include <ctime>
using namespace std;
/*definisce un elemento di una lista*/
struct nodo
{
int val;
nodo *next;
};
/*valorizza una lista vuota con n elementi */
nodo *valorizza(int n)
{
if(!n)
/*se n==0 ritorna nullptr, in coda ci sara sempre nullptr*/
return nullptr;
else
{
nodo *nuovo=new nodo;
nuovo->val=rand()%10;
n--;
nuovo->next=valorizza(n);
return nuovo;
}
}
/*visualizza la lista*/
void visualizza(nodo *t)
{
if(t!=NULL)
{
cout<<t->val<<" ";
visualizza(t->next);
}
}
/*inseriesce un elemento in testa*/
void pop(nodo *ele, nodo *&lista)
{
nodo *tmp=lista;
lista=ele;
lista->next=tmp;
}
/*inseriesce un elemento(ele) in coda alla lista*/
void append(nodo *ele,nodo *lista)
{
while(lista->next)
{
lista=lista->next;
}
lista->next=ele;
/*ricordarsi di chiudere la lista*/
ele->next=nullptr;
}
void view_address(nodo *lista)
{
while(lista)
{
cout<<lista<<" "<<"["<<lista->val<<"]";
lista=lista->next;
}
}
int lung(nodo *lista)
{
int i=0;
while(lista->next)
{
i++;
lista=lista->next;
}
return i;
}
Post Views: 308