السلام عليكم ورحمة الله وبركاته ..
ارغب بالشرح المفصل لعمل هذا الكود
node *insert(node *tree,int ele)
{
if(tree==NULL)
{
tree=new node;
tree->left=tree->right=NULL;
tree->data=ele;
}
else
if(rand()%2==0)
tree->left=insert(tree->left,ele);
else
tree->right=insert(tree->right,ele);
return(tree);
}
اريد التركيز على الكود
if(rand()%2==0)
كذلك ما فائدة التغليف للدوال كالاتي ..
الفنكشن
void printPreOrder(TreeNode *new_ptr){
if(new_ptr!=NULL)
{
cout<<new_ptr->data<<endl;
printPreOrder(new_ptr->left);
printPreOrder(new_ptr->right);
}
}
التغليف
void printPreOrder(){printPreOrder(root);}