Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

please convert the code to C language. urgent please answer in 45min before. I will upvote, don't post wrong answers. provide source code and output

please convert the code to C language.

urgent please answer in 45min before. I will upvote, don't post wrong answers. provide source code and output must

Source Code:

// CPP program for above approach #include using namespace std;

// A Binary Tree Node struct node { struct node *left, *right; int data; };

// Utility function to // create a new tree node node* newNode(int key) { node *temp = new node; temp->data= key; temp->left = temp->right = NULL; return temp; }

// Function to print all // non-root nodes that // don't have a sibling void printSingles(struct node *root) {

// Base case if (root == NULL) return;

queue q1; q1.push(root);

int flag=0; vector v;

// While q1 is not empty while(q1.empty() == false) { struct node * temp=q1.front(); q1.pop();

// Check if temp->left is not // NULL and temp->right is NULL if(temp->left != NULL && temp->right == NULL) { flag=1; v.push_back(temp->left->data); }

// Check if temp->left is equal // NULL and temp->right is not NULL if(temp->left == NULL && temp->right != NULL) { flag=1; v.push_back(temp->right->data); }

// Check if temp->left is not // NULL if(temp->left != NULL) { q1.push(temp->left); } // Check if temp->right is not // NULL if(temp->right != NULL) { q1.push(temp->right); } }

// Sort v in increasing order sort(v.begin(), v.end());

// Iterate i from 0 to v.size() - 1 for (int i = 0; i < v.size(); i++) { cout<< v[i] << " "; }

// Check is v is empty if (v.size() == 0) { cout<<"-1"; } }

// Driver program to test // above functions int main() {

// Let us create binary tree // given in the above example cout<<"same tree is built as shown in example "; node *root = newNode(2); root->left= newNode(7); root->right= newNode(5); root->right->right=newNode(9); root->right->right->left=newNode(4); root->left->left=newNode(2); root->left->right=newNode(6); root->left->right->left=newNode(5); root->left->right->right=newNode(11); cout<<"printing the nodes that don't have sibling... "<

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

101 Database Exercises Text Workbook

Authors: McGraw-Hill

2nd Edition

0028007484, 978-0028007489

More Books

Students also viewed these Databases questions

Question

f. Did they change their names? For what reasons?

Answered: 1 week ago