Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-01-2005, 21:54   #1
jennix
Junior Member
 
Iscritto dal: Jan 2005
Messaggi: 2
[C++] liste a nodi concatenati

Ciao a tutti!
Ho iniziato da poco a studiare il C++ e sto cercando di capire come funzionano alcuni programmi per entrare un po' nell'ottica del linguaggio.
Vorrei chiedervi se potete aiutarmi a chiarire un dubbio su questo programma che effettua l'inserimento di un nodo in una lista ordinata (lista a nodi concatenati):

{void ins_ord(node *&p0, int v)
{
node *p = 0; node *q; node *r;
for (r = p0; r!=0 && r->item < v;
r = r->next) p = r;
q = new node;
q->item = v;
q->next = r;
if (p==0) p0 = q;
else p->next = q;
};

Io lo interpreto così:una volta che ho il nodo che precede v eseguo l'ultimo for, aggiorno r che punterà al nodo con valore > o =v e assegno l'indirizzo di tale nodo a p. A questo punto creo un nodo con valore v e poi ( sempre che p non sia uguale a 0 ) lo inserisco dopo il nodo puntato da p ( e quindi con valore v).
Il mio dubbio è: se p e r puntano allo stesso nodo ( che contiene il un valore maggiore o uguale a v) non è contraddittorio scrivere q->next = r; ( che prevede di inserire q prima di p ) e poi dopo p->next = q; ( che prevede di inserire p prima di q) ...non andrebbe bene se si eliminasse quest'ultima? Probabilmente interpreto male il programma... potete aiutarmi a capirlo?
Grazie!
jennix è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2005, 17:54   #2
jennix
Junior Member
 
Iscritto dal: Jan 2005
Messaggi: 2
Ho capito di aver omesso un'informazione utile per la comprensione del programma cioè che p0 è il puntatore al primo nodo della lista.
Intanto ho provato a modificare il programma e ora mi sembra che potrebbe funzionare.
Ve la scrivo qui di seguito:
{void ins_ord(node *&p0, int v)
{
node *p = 0; node *q; node *r;
for (r = p0;r->next !=0 && r->next->item < v;
r = r->next) p = r;
r = r->next
q = new node;
q->item = v;
if (p0->item<v)
q->next = r;
else {q->next = p;
p0=q;}
if (p==0) p0 = q;
else p->next = q;
};

Vi sembra che funzioni oppure è corretta la versione precedente?
Grazie!
jennix è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
OpenAI taglia i prezzi di due modelli GP...
RTX Spark pronto a dominare anche i tabl...
Il primo telefono davvero senza bordi no...
DeepSeek V4-Flash, API in beta pubblica:...
La crisi delle memorie continuerà: ecco ...
Dati su disfunzione erettile e perdita d...
Arriva e-invoice, il servizio di fiskaly...
Champions League, F1 e MotoGP: ecco la p...
Amazon alza a 220 miliardi le stime sugl...
World of Warcraft e Dungeons & Drago...
AXOL Server ridisegna l'infrastruttura d...
MSI ha ucciso AMD EXPO ULL? High-Efficie...
Falso Portale dell'Automobilista ruba pa...
Apple chiude il miglior trimestre di giu...
Sony tira dritto sull'addio ai dischi Pl...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:57.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v