Arkadaşlar merhaba, aşağıdaki kodumda 2 tane branch var, sağ ve sol. sağ branchdeki 60ı silmek istiyorum daha sonra da root'un sağ branch'inin solundaki en büyük rakam olan 57yi bulmak istiyorum. nasıl yapabilirim ? #include <iostream> #include <stdlib.h> using namespace std;
struct leaf { int number; leaf *left; leaf *right; };
#include <iostream>
#include <stdlib.h>
using namespace std;
struct leaf
{
int number;
leaf *left;
leaf *right;
};
void ListTree(leaf *root)
{
if(root!=NULL)
{
cout << root->number << endl;
ListTree(root->left);
ListTree(root->right);
}
}
leaf *CreateLeaf(int number)
{
leaf *newleaf;
newleaf = (leaf *)malloc(sizeof(leaf));
if(newleaf==NULL) return(NULL);
newleaf->number = number;
newleaf ->left = NULL;
newleaf ->right = NULL;
return newleaf;
}
leaf *FindNode(int number,leaf *root)
{
leaf *before=NULL;
while(root!=NULL)
{
if(number==root->number) return root;
before=root;
if(number<root->number) root = root->left;
else root = root->right;
}
return before;
}
bool AddNode(int number,leaf *root)
{
leaf *newnode = CreateLeaf(number);
if(newnode == NULL) return false;
if(root == NULL) return false;
leaf *whereto = FindNode(number,root);
if(whereto == NULL) return false;
if(whereto->number == number) return false;
if(number< whereto->number)whereto->left=newnode;
else whereto->right=newnode;
return true;
}
int main(void)
{
leaf *root = CreateLeaf(40);
AddNode(40,root);
AddNode(20,root);
AddNode(60,root);
AddNode(10,root);
AddNode(30,root);
AddNode(50,root);
AddNode(70,root);
AddNode(42,root);
AddNode(55,root);
AddNode(65,root);
AddNode(73,root);
AddNode(52,root);
AddNode(57,root);
AddNode(66,root);
AddNode(56,root);
cout << "List of the tree is:\n";
ListTree(root);
leaf *myleaf = FindNode(99,root);
if(myleaf != NULL)
{
cout << "FOUND : " << myleaf->number << endl;
}
system("PAUSE");
return 0;
}
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi helsing2 -- 5 Aralık 2015; 16:00:09 >