Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- class Node{
- public:
- int data;
- Node *left,*right;
- Node(int key){
- data=key;
- left=NULL;
- right=NULL;
- }
- };
- void preorder(Node *root){
- if(root==NULL)
- return;
- cout<<" "<<root->data;
- preorder(root->left);
- preorder(root->right);
- }
- void DeleteNode(Node * node_ptr){
- if(node_ptr==NULL)
- return;
- DeleteNode(node_ptr->left);
- DeleteNode(node_ptr->right);
- delete node_ptr;
- }
- void DeleteTree(Node **root_ref){
- if(*root_ref==NULL)
- return;
- Node *temp=*root_ref;
- DeleteNode(temp);
- *root_ref=NULL;
- }
- int main(){
- Node *root=NULL;
- Node *newnode=new Node(1);
- root=newnode;
- root->left=new Node(2);
- root->right=new Node(3);
- (root->left)->left=new Node(4);
- (root->right)->right=new Node(5);
- cout<<"pre order traversal ";
- preorder(root);
- DeleteTree(&root);
- cout<<endl<<"after deletion,pre order traversal is ";
- preorder(root);
- return 0;
- }
- /* DeleteNode ka code ye bhi ho sakta tha.
- void DeleteNode(Node * node_ptr){
- if(node_ptr->left!=NULL)
- DeleteNode(node_ptr->left);
- if(node_ptr->right!=NULL)
- DeleteNode(node_ptr->right);
- delete node_ptr;
- }
- */
Add Comment
Please, Sign In to add comment