Spread the word.

Share the link on social media.

Share
  • Facebook
Have an account? Sign In Now

Sign Up

Have an account? Sign In Now

Sign In

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

Sorry, you do not have permission to ask a question, You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here
Sign InSign Up

SIKSHAPATH

SIKSHAPATH Navigation

  • Home
  • Questions
  • Blog
    • Computer Science(CSE)
    • NPTEL
    • Startup
  • Shop
    • Internshala Answers
Search
Ask A Question

Mobile menu

Close
Ask A Question
  • Home
  • Questions
  • Blog
    • Computer Science(CSE)
    • NPTEL
    • Startup
  • Shop
    • Internshala Answers
Home/ Questions/Q 10279
Next
In Process

SIKSHAPATH Latest Questions

Berlin
  • 1
  • 1
Berlin
Asked: January 5, 20222022-01-05T11:48:32+05:30 2022-01-05T11:48:32+05:30In: Data Structure

Implement a C++ program to store Strings in Binary Search tree. Your program should have following functions: Insert Display Search …

  • 1
  • 1

Implement a C++ program to store Strings in Binary Search tree. Your program should have following functions:

  • Insert
  • Display
  • Search

Data structures in C++

binary search
  • 1 1 Answer
  • 474 Views
  • 0 Followers
  • 0
Answer
Share
  • Facebook

    1 Answer

    • Voted
    • Oldest
    • Recent
    1. I'M ADMIN
      I'M ADMIN
      2022-01-05T11:51:55+05:30Added an answer on January 5, 2022 at 11:51 am

      Steps:

       

      Create a Node structure that has a left and right pointer to point to the left and right child nodes.

      Create a BST using recursion. While insertion the value is checked with the root value. If the value is lesser than the root we move to the left subtree else to the right subtree. This continues until an empty place is found to place the new node.

      The display function displays the nodes of the tree in an inorder fashion this is left root right.

      The search function returns NULL if no such target is found else returns the node with the target value.

      #include<iostream>
      
      using namespace std;
      
      struct Node{
      string val;
      struct Node *left;
      struct Node *right;
      };
      
      //method to insert new nodes
      struct Node* insertNode(struct Node *root,string val)
      {
      if(root==NULL)
      {
      //create a new node
      struct Node *newNode=new Node();
      newNode->val=val;
      newNode->left=newNode->right=NULL;
      return newNode;
      }
      
      if(val<root->val)
      root->left=insertNode(root->left,val);
      else
      root->right=insertNode(root->right,val);
      
      return root;
      }
      
      //method to display the tree
      void display(struct Node *root)
      {
      //perform inorder traversal
      if(root!=NULL)
      {
      display(root->left);
      cout<<root->val<<" ";
      display(root->right);
      }
      }
      
      //method to search the tree
      struct Node* searchNode(struct Node *root,string val)
      {
      if(root==NULL || root->val==val)
      {
      return root;
      }
      if(root->val<val)
      {
      return searchNode(root->right,val);
      }
      return searchNode(root->left,val);
      }
      
      int main()
      {
      struct Node *root=NULL,*node;
      
      //display the menu
      int choice;
      string val;
      
      while(1)
      {
      cout<<"1. Insert Node"<<endl;
      cout<<"2. Display Nodes"<<endl;
      cout<<"3. Search Node"<<endl;
      cout<<"4. Exit"<<endl;
      cout<<"Enter choice: ";
      cin>>choice;
      
      fflush(stdin);
      switch(choice)
      {
      case 1: cout<<"Enter string: ";
      getline(cin,val);
      root=insertNode(root,val);
      cout<<val<<" added"<<endl;
      break;
      case 2: cout<<"Inorder traversal of tree: ";
      display(root);
      cout<<endl;
      break;
      case 3: cout<<"Enter string: ";
      getline(cin,val);
      node=searchNode(root,val);
      if(node==NULL)
      {
      cout<<val<<" not found."<<endl;
      }
      else{
      cout<<val<<" found."<<endl;
      }
      break;
      case 4: exit(0);
      default:cout<<"Wrong choice"<<endl;
      }
      cout<<endl;
      }
      }
        • 0
      • Reply
      • Share
        Share
        • Share on WhatsApp
        • Share on Facebook
        • Share on Twitter
        • Share on LinkedIn

    Leave an answer
    Cancel reply

    You must login to add an answer.

    Forgot Password?

    Need An Account, Sign Up Here

    Sidebar

    store ads

    Stats

    • Questions 1k
    • Answers 1k
    • Posts 149
    • Best Answers 89
    • This Free AI Tool Translates Entire Books in Minute !
    • AI News: 🎬 Hollywood’s AI Studios, 🎓 OpenAI’s Latest Gift to Educators, 🚚 Class8 Bags $22M, 🧠 Google Gemini’s Memory Upgrade
    • AI NEWS: Legal Action Against OpenAI, $16M Paid, & Elon Musk’s Praise from Investor 🤖💰📑 | AI Boosts Cloud Seeding for Water Security 🌱💧
    • AI News: 🎬AI Video Tool Scam Exposed🤯, 🛰️ AI-Powered Drones to Ukraine 😱, Google’s $20M AI Push, Sam Altman Joins SF’s Leadership Team
    • AI News: 🤝 Biden Meets Xi on AI Talks, 💡 Xavier Niel’s Advice for Europe, ♻️ Hong Kong’s Smart Bin Revolution, 🚀 AI x Huawei

    Explore

    • Recent Questions
    • Questions For You
    • Answers With Time
    • Most Visited
    • New Questions
    • Recent Questions With Time

    Footer

    SIKSHAPATH

    Helpful Links

    • Contact
    • Disclaimer
    • Privacy Policy Notice
    • TERMS OF USE
    • FAQs
    • Refund/Cancellation Policy
    • Delivery Policy for Sikshapath

    Follow Us

    © 2021-24 Sikshapath. All Rights Reserved

    Insert/edit link

    Enter the destination URL

    Or link to existing content

      No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.