Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Convert the following java program to C++ import java.util.Scanner; class Nd { N

ID: 3596162 • Letter: C

Question

Convert the following java program to C++

import java.util.Scanner;

class Nd

{

Nd lt, rt;

int data;

public Nd(int n)

{

lt = null;

rt = null;

data = n;

}   

}

class Bt

{

private Nd root;

public Bt()

{

root = null;

}

public void insert(int data)

{

root = insert(root, data);

}

private Nd insert(Nd node, int data)

{

if (node == null)

node = new Nd(data);

else

{

if (data <= node.data)

node.lt = insert(node.lt, data);

else

node.rt = insert(node.rt, data);

}

return node;

}

public void inorder()

{

inorder(root);

}

private void inorder(Nd r)

{

if (r != null)

{

inorder(r.lt);

System.out.print(r.data +" ");

inorder(r.rt);

}

}

public void preorder()

{

preorder(root);

}

private void preorder(Nd r)

{

if (r != null)

{

System.out.print(r.data +" ");

preorder(r.lt);   

preorder(r.rt);

}

}

public void postorder()

{

postorder(root);

}

private void postorder(Nd r)

{

if (r != null)

{

postorder(r.lt);   

postorder(r.rt);

System.out.print(r.data +" ");

}

}   

}

public class Main

{

public static void main(String[] args)

{   

Scanner scan = new Scanner(System.in);

Bt bst = new Bt();

System.out.println("Linked List Binary Search Tree ");

char ch;

do

{

System.out.println("Enter integer to insert");

bst.insert( scan.nextInt() );   

System.out.print(" Post_order : ");

bst.postorder();

System.out.print(" Pre_order : ");

bst.preorder();

System.out.print(" In_order : ");

bst.inorder();

System.out.println(" Do you want to continue (Type y or n) ");

ch = scan.next().charAt(0);

} while (ch == 'Y'|| ch == 'y');

}

}

Linked List Binary Search Tree Enter integer to insert 10 Postorder : 10 Pre order 1e In order10 Do you want to continue (Type y or n) - Enter integer to insert 20 Post order 20 10 Pre order 10 20 In order 10 20 Do you want to continue (Type y or n) Enter integer to insert 30 Post_order: 30 20 19 Pre order 10 20 30 In order 10 20 30 Do you want to continue (Type y or n)

Explanation / Answer

Here is the code :

#include <bits/stdc++.h>

using namespace std;

class Nd {

public :
  
Nd *lt;
Nd *rt;
int data;
  
Nd(int n) {
data = n;
}
};

class Bt {

Nd *root;
  
Nd* insert(Nd *node, int data) {
if (node == 0)
node = new Nd(data);
else {
if (data <= node -> data)
node -> lt = insert(node -> lt, data);
else
node -> rt = insert(node -> rt, data);
}
return node;
}

void inorder(Nd *r) {
if (r != 0) {
inorder(r -> lt);
cout<<r -> data<<" ";
inorder(r -> rt);
}
}
  
void preorder(Nd *r) {
if (r != 0) {
cout<<r -> data<<" ";
preorder(r -> lt);
preorder(r -> rt);
}
}
  
void postorder(Nd *r) {
if (r != 0) {
postorder(r -> lt);
postorder(r -> rt);
cout<<r -> data<<" ";
}
}
  
public :
  
Bt() {
root = 0;
}

void insert(int data) {
root = insert(root, data);
}

void inorder() {
inorder(root);
}

void preorder() {
preorder(root);
}

void postorder() {
postorder(root);
}

};

int main() {
  
Bt *bst = new Bt();
cout<<"Linked List Binary Search Tree "<<endl;
char ch;
do {
cout<<"Enter integer to insert"<<endl;
int data;
cin>>data;
bst -> insert(data);
cout<<" Post_order : ";
bst -> postorder();
cout<<" Pre_order : ";
bst -> preorder();
cout<<" In_order : ";
bst -> inorder();

cout<<" Do you want to continue (Type y or n) "<<endl;
cin>>ch;
} while (ch == 'Y' || ch == 'y');

}

**If you have any query , please feel free to comment with details.
**Happy leaning :)