ikili arama ağaçları


#include<iostream>
using namespace std;
typedef struct node
{
 int data;
 node *left;
 node *right;
};
typedef struct  node *BTREE;
BTREE ekle(BTREE root,int veri)
{
 if(root!=NULL)
 {
  if(veri>=root->data)
   {
    root->right=ekle(root->right,veri);
   }
   else
   {
    root->left=ekle(root->left,veri);
   }
  
  
 }
 else
 {
  root=new node();
  root->data=veri;
  root->left=NULL;
  root->right=NULL;
  
  
 }
 return root;
 
};

void preorder(BTREE root)
{
 if(root!=NULL)
  {
   cout<<root->data<<endl;
   preorder(root->left);
   preorder(root->right);
   
  }

};
void inorder(BTREE root)
{
 if(root!=NULL)
  {
   
   inorder(root->left);
   cout<<root->data<<endl;
   inorder(root->right);
   
  }

};
void postorder(BTREE root)
{
 if(root!=NULL)
  {
   
   postorder(root->left);
   postorder(root->right);
   cout<<root->data<<endl;
  }

};
int esayisi(BTREE root)
{
 if(root==NULL)
  return 0;
 else
 {
  return esayisi(root->left)+esayisi(root->right)+1;
 }
 
}

main()
{
BTREE root=NULL;
root=ekle(root,34);
ekle(root,24);
ekle(root,54);
ekle(root,14);
//postorder(root);
//inorder(root);
//preorder(root);
cout<<"elemansayisi:"<<esayisi(root)<<endl;
 
 
}
sonraki
« Prev Post
Önceki
Next Post »
Thanks for your comment