Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const int MAX_SIZE = 100;
- class Tree{
- public:
- void createTree();
- void printInorder(int index);
- int getRootIndex();
- private:
- int data[MAX_SIZE];
- int leftNodes[MAX_SIZE];
- int rightNodes[MAX_SIZE];
- int rootIndex;
- };
- void Tree::createTree()
- {
- int n;
- cout<<"Enter length of nodes array: ";
- cin>>n;
- cout<<"Enter nodes array:"<<endl;
- for(int i = 0; i < n; i++){
- cout<<"Node on index " << i <<": ";
- cin>>data[i];
- }
- cout<<"Enter index of the root:"<<endl;
- cin>>rootIndex;
- cout<<"Enter left nodes indexes:"<<endl;
- for(int i = 0; i < n; i++){
- cout<<"Node on index " << i <<": ";
- cin>>leftNodes[i];
- }
- cout<<"Enter right nodes indexes:";
- for(int i = 0; i < n; i++){
- cout<<"Node on index " << i <<": ";
- cin>>rightNodes[i];
- }
- }
- int Tree::getRootIndex()
- {
- return rootIndex;
- }
- void Tree::printInorder(int index)
- {
- if(leftNodes[index] != -1){
- printInorder(leftNodes[index]);
- }
- cout<<data[index]<<" ";
- if(rightNodes[index] != -1){
- printInorder(rightNodes[index]);
- }
- }
- int main()
- {
- Tree testTree;
- testTree.createTree();
- cout<< testTree.getRootIndex()<<endl;
- testTree.printInorder(testTree.getRootIndex());
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement