fill in the comments for this peice of code c++ typedef struct LangData {     string ch; // stores a single char     int i; // index of char from the original string     int start; // start index of substr     int endInd; // end index of substr     LangData(const string &ch, int i, int s, int e) : ch(ch), i(i), start(s), endInd(e) {} } LangData;   // This function generates all strings of length at most k the language generated by the characters in the input string // Input: string in_str, int k // Output: list of all strings of length at most k, consisting of characters in input_str // List language(string input_str, int k) {     List langList;     langList.insert("");     for (int i = 1; i <= k; i++) {           stack recurData;         // Generate a blank strig of the required length         string blankStr = "";         for (int j = 0; j < i; j++)             blankStr += " ";         // Push onto the stack         recurData.push(LangData(blankStr, 0, 0, input_str.size() - 1));           while (recurData.size() > 0) {               // Read top             LangData top = recurData.top();             recurData.pop();               if (top.i == i) {                 // Add to list if the string is complete                 langList.insert(top.ch);             } else {                 // Generate new entry                 for (int j = top.start; j <= top.endInd; j++) {                     // Copy the top                     LangData push = top;                     // Add new char from input                     push.ch[top.i] = input_str[j];                     // Increment index                     push.i++;                     // Save to stack                     recurData.push(push);                 }             }         }       }     return langList; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

fill in the comments for this peice of code c++

typedef struct LangData {

    string ch; // stores a single char

    int i; // index of char from the original string

    int start; // start index of substr

    int endInd; // end index of substr

    LangData(const string &ch, int i, int s, int e) : ch(ch), i(i), start(s), endInd(e) {}

} LangData;

 

// This function generates all strings of length at most k the language generated by the characters in the input string

// Input: string in_str, int k

// Output: list of all strings of length at most k, consisting of characters in input_str

//

List language(string input_str, int k) {

    List langList;

    langList.insert("");

    for (int i = 1; i <= k; i++) {

 

        stack<LangData> recurData;

        // Generate a blank strig of the required length

        string blankStr = "";

        for (int j = 0; j < i; j++)

            blankStr += " ";

        // Push onto the stack

        recurData.push(LangData(blankStr, 0, 0, input_str.size() - 1));

 

        while (recurData.size() > 0) {

 

            // Read top

            LangData top = recurData.top();

            recurData.pop();

 

            if (top.i == i) {

                // Add to list if the string is complete

                langList.insert(top.ch);

            } else {

                // Generate new entry

                for (int j = top.start; j <= top.endInd; j++) {

                    // Copy the top

                    LangData push = top;

                    // Add new char from input

                    push.ch[top.i] = input_str[j];

                    // Increment index

                    push.i++;

                    // Save to stack

                    recurData.push(push);

                }

            }

        }

 

    }

    return langList;

}

 

 
Expert Solution
steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Knowledge Booster
Concept of pointer parameter
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education