Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-06-2004, 19:48   #1
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2123
[C++]Albero

Codice:
 
/*
### Copyright (c) 2004 Luca Francesca
### This script is provided under the terms of the GNU General Public License
### (see http://www.gnu.org/licenses/gpl.html for the full license text.)
*/
#include <iostream>
#include <ctime>
#define __DEBUG__

using namespace std;

struct TreeNode
{
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode(int val, TreeNode *l, TreeNode *r)
    {
    	#if defined(__DEBUG__)
        		cout << "Added " << val << "\n";
    	#endif
    	this->val = val;
    	left = l;
    	right = r;
    };
};

class Tree
{
	private:
		TreeNode *root;
		void AddElem(TreeNode *aux, int val)
		{
			if(aux == NULL)
			{
				aux = new TreeNode(val, NULL, NULL);
			}
			else if(val <= aux->val)
				AddElem(aux->left, val);
			else if(val > aux->val)
				AddElem(aux->right, val);
		};
		void InternalShowInOrder(TreeNode *P)
		{
                  if (P->left) InternalShowInOrder(P->left);
                 cout << P->val << "\n";
                 if (P->right) InternalShowInOrder(P->right);
                ;}
	public:
		Tree(int elem)
		{
			root = new TreeNode(elem, NULL, NULL);
		};
		void Add(int val)
		{
			AddElem(root, val);
		};
		void Print()
		{
			InternalShowInOrder(root);
		}
		~Tree(){ delete root;  root = NULL; };
};

int main(int argc, char *argv[])
{
	Tree tr(1);
	srand(time(NULL));
	
	for(int i = 0; i < (rand()%10);i++)
	{
		tr.Add( i + (rand()%25) );
		
	}
	tr.Print();
  char exit;
  std::cin.get(exit);
  return 0;
}
Perche visualizzo sempre e solo 1???

Tnk
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 20:21   #2
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Re: [C++]Albero

Il problema principale e' che AddElem modifica solo la copia locale del puntatore, e non quella che e' presente nella struttura del padre.
Ti conviene cambiare il metodo facendo si' che la nuova foglia venga ritornata come valore da modificare nel padre.
Questo fra l'altro rende possibile creare l'albero vuoto con estrema semplicita':

Codice:
		TreeNode* AddElem(TreeNode *aux, int val)
		{
			if(aux == NULL)
			{
				return new TreeNode(val, NULL, NULL);
			}
			else if(val <= aux->val)
				aux->left =AddElem(aux->left, val);
			else if(val > aux->val)
				aux->right=AddElem(aux->right, val);
			return aux
		};

		Tree()
		{
			root = NULL;
		};
		void Add(int val)
		{
			root = AddElem(root, val);
		};
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Retelit punta sulla connettività ...
Novità WhatsApp: promemoria sui m...
AMD: la prossima generazione di schede v...
MediaWorld potrebbe diventare cinese: Ce...
Amazon in delirio da sconti: 22 articoli...
EOLO ha più di 700 mila utenti in...
Una spin-off del MIT ha creato dei super...
Il radiatore di una BMW M4 per raffredda...
OpenAI accelera su GPT-5: lancio estivo ...
È indietro e deve reagire: il CEO...
Samsung Galaxy Buds3 a 86€, Bose QuietCo...
Addio feed MSN: Microsoft punta tutto su...
GPD Win 5 con il superchip AMD fa volare...
Top 7 Amazon bestseller: classifica scon...
Nexamp ha un'idea per attivare un campo ...
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: 14:43.


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