c++ za ispit

laa-laa

Aktivan član
Poruka
1.078
Spremam ispit, a vidim da ovdje ima ljudi koji programiraju u C++, pa će valjda moći da mi pomognu.

- Kada se kod klasa piše destruktor ( ~Klasa() {}; ) i da li mogu UVIJEK da ga stavim u klasu (a da to ne bude greška)?

- Šta je to konkatenacija dva objekta?

- Dugačak je kod, pa mi je teško da ga cijelog prekucavam (pisan je na papiru), ali radi se o binarnom stablu:





Kod:
typedef struct treeel{

  int el;

  struct treeel *left,*right;

  }Treeel;

   

  class  BTree{

  			private:

  					    Treeel *root;

  		    			void FoundPlace (Treeel **p, int n);

  		    			void postorder (Treeel *p);

  		    			.

  		    		    .		   

  		    			. itd.

  			public:

  					    Btree(){}; itd

  };   //end class

   

  void Btree :: FoundPlace (Treeel **p, int n)

  {

  			if ((*p)==NULL)

  			{ *p = new Treeel;

  			   (*p) ->el = n;

  			   (*p)->right  = (*p)->left = NULL;

  			}

  			else

  		    { if (n < (*p->el))   FoundPlace(&(*p)->left, n);

  			   else if { (n > (*p->el))  FoundPlace(&(*p)->right, n);

  			 }

  } 

   

  void Btree :: postorder(Treeel *p)

  { if ( p!=NULL )

  			{ postorder(p->left);

  			   postorder(p->right);

  			   cout << p ->el << endl;

  			}

  }



Sad mene zanima zašto je u postorder *p a u FoundPlace **p? Ako je od neke pomoći, FoundPlace treba da koristi root kao parametar u jednoj funkciji:





Kod:
void Btree :: AddElem (int n)

  { FoundPlace (&root,n);

  }

Hvala unaprijed.
 

Back
Top