#include<iostream> #include<vector> using namespace std; struct tnode { int data; struct tnode *left; struct tnode *right; }; struct node { tnode *treenode: node *next; }; // Inserts node in bst struct tnode* InsertTnode(struct tnode *root, int value) { struct tnode *temp = (struct tnode*)malloc(sizeof(struct tnode)); struct tnode *temproot = root; temp->data = value; temp->left = NULL; temp->right = NULL; if(root == NULL) root = temp; else { while(temproot != NULL) { if(value <= temproot->data) { if(temproot->left == NULL) { temproot->left = temp; return root; } temproot = temproot->left; } else { if(temproot->right == NULL) { temproot->right = temp; return root; } temproot = temproot->right; } } } return root; } // creates bst struct tnode* InsertBulk(struct tnode *root, int array[], int size) { for(int i=0;i<size; i++) root = InsertTnode(root, array[i]); return root; } // Inserts node in the linked list struct node* InsertNode(struct node *head, struct tnode *_treenode) { if(_treenode != NULL) { struct node *nodex; struct node *temp=head; nodex = (struct node*)malloc(sizeof(struct node)); nodex->treenode = _treenode; nodex->next = NULL; if(head == NULL) head = nodex; else { while(temp->next != NULL) temp = temp->next; temp->next = nodex; } } return head; } void PrintLinList(struct node *head) { if(head != NULL) while(head->next != NULL) { cout<<head->treenode->data << " -> "; head = head->next; } cout<<head->treenode->data<<"\n"; } // creates creates a linked list of all the nodes at each depth void ListOfDepth(vector<struct node*> &depth) { struct node *head=NULL, *temp; temp = depth.back(); while(temp != NULL) { head = InsertNode(head,temp->treenode->left); head = InsertNode(head,temp->treenode->right); temp = temp->next; } if(head != NULL) { depth.push_back(head); ListOfDepth(depth); } } int main() { struct tnode *root = NULL; vector<struct node*> depth; int array[] = {15,10,20,8,12,16}; root = InsertBulk(root, array, sizeof(array)/sizeof(array[0])); // tree creation if(root != NULL) { struct node *temp = (struct node*)malloc(sizeof(struct node)); temp->treenode = root; temp->next = NULL; depth.push_back(temp); ListOfDepth(depth); for(auto it = depth.begin(); it<depth.end(); it++) PrintLinList(*it); } return 0; }
Standard input is empty
prog.cpp:14:10: error: function definition does not declare parameters
tnode *treenode:
^~~~~~~~
prog.cpp: In function ‘node* InsertNode(node*, tnode*)’:
prog.cpp:76:10: error: ‘struct node’ has no member named ‘treenode’; did you mean ‘node’?
nodex->treenode = _treenode;
^~~~~~~~
node
prog.cpp:77:10: error: ‘struct node’ has no member named ‘next’
nodex->next = NULL;
^~~~
prog.cpp:83:15: error: ‘struct node’ has no member named ‘next’
while(temp->next != NULL)
^~~~
prog.cpp:84:16: error: ‘struct node’ has no member named ‘next’
temp = temp->next;
^~~~
prog.cpp:86:9: error: ‘struct node’ has no member named ‘next’
temp->next = nodex;
^~~~
prog.cpp: In function ‘void PrintLinList(node*)’:
prog.cpp:95:14: error: ‘struct node’ has no member named ‘next’
while(head->next != NULL)
^~~~
prog.cpp:97:15: error: ‘struct node’ has no member named ‘treenode’; did you mean ‘node’?
cout<<head->treenode->data << " -> ";
^~~~~~~~
node
prog.cpp:98:16: error: ‘struct node’ has no member named ‘next’
head = head->next;
^~~~
prog.cpp:100:14: error: ‘struct node’ has no member named ‘treenode’; did you mean ‘node’?
cout<<head->treenode->data<<"\n";
^~~~~~~~
node
prog.cpp: In function ‘void ListOfDepth(std::vector<node*>&)’:
prog.cpp:112:32: error: ‘struct node’ has no member named ‘treenode’; did you mean ‘node’?
head = InsertNode(head,temp->treenode->left);
^~~~~~~~
node
prog.cpp:113:32: error: ‘struct node’ has no member named ‘treenode’; did you mean ‘node’?
head = InsertNode(head,temp->treenode->right);
^~~~~~~~
node
prog.cpp:114:16: error: ‘struct node’ has no member named ‘next’
temp = temp->next;
^~~~
prog.cpp: In function ‘int main()’:
prog.cpp:135:9: error: ‘struct node’ has no member named ‘treenode’; did you mean ‘node’?
temp->treenode = root;
^~~~~~~~
node
prog.cpp:136:9: error: ‘struct node’ has no member named ‘next’
temp->next = NULL;
^~~~
Standard output is empty