When I was compling my code this is the output I got. yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data  And this is what the output is supposed to looked like  Dynamic memory for 0 CNodes freed Dynamic memory for 1 PNodes freed 11  11  Dynamic memory for 1 CNodes freed Dynamic memory for 1 PNodes freed 11  12  13  14  11  12  13  14  Dynamic memory for 4 CNodes freed Dynamic memory for 1 PNodes freed 21  22  23  24  21  22  23  24  Dynamic memory for 0 CNodes freed Dynamic memory for 4 CNodes freed Dynamic memory for 2 PNodes freed 11  12  13  14  11  12  13  14  Dynamic memory for 4 CNodes freed Dynamic memory for 0 CNodes freed Dynamic memory for 2 PNodes freed 11  12  13  14  21  41  42  11  21  41  12  42  13  14  Dynamic memory for 4 CNodes freed Dynamic memory for 1 CNodes freed Dynamic memory for 0 CNodes freed Dynamic memory for 2 CNodes freed Dynamic memory for 4 PNodes freed 21  22  23  24  31  51  52  21  31  51  22  52  23  24  Dynamic memory for 0 CNodes freed Dynamic memory for 4 CNodes freed Dynamic memory for 1 CNodes freed Dynamic memory for 0 CNodes freed Dynamic memory for 2 CNodes freed Dynamic memory for 5 PNodes freed #ifndef NODES_LLOLL_H #define NODES_LLOLL_H #include    // for ostream namespace CS3358_SP2023_A5P2 {    // child node    struct CNode    {       int data;       CNode* link;    };    // parent node    struct PNode    {       CNode* data;       PNode* link;    };    // toolkit functions for LLoLL based on above node definitions    void Destroy_cList(CNode*& cListHead);    void Destroy_pList(PNode*& pListHead);    void ShowAll_DF(PNode* pListHead, std::ostream& outs);    void ShowAll_BF(PNode* pListHead, std::ostream& outs); } #endif #ifndef CN_PTR_QUEUE_H #define CN_PTR_QUEUE_H #include        // for size_t #include          // for STL stack template #include "nodes_LLoLL.h"  // for CNode namespace CS3358_SP2023_A5P2 {    class cnPtrQueue    {    public:       typedef std::size_t size_type;       cnPtrQueue();       bool empty() const;       size_type size() const; // returns # of items in queue       CNode* front();       void push(CNode* cnPtr);       void pop();    private:       std::stack inStack;       std::stack outStack;       size_type numItems;     // # of items in queue    }; } #endif #include "cnPtrQueue.h" #include using namespace std; namespace CS3358_SP2023_A5P2 {     cnPtrQueue::cnPtrQueue() : numItems(0)    {    }    bool cnPtrQueue::empty() const    {       return numItems == 0;    }    cnPtrQueue::size_type cnPtrQueue::size() const    {       return numItems;    }    CNode* cnPtrQueue::front()    {       assert(!empty());       if (outStack.empty())       {          // transfer items from inStack to outStack          while (!inStack.empty())          {             outStack.push(inStack.top());             inStack.pop();          }       }       return outStack.top();    }    void cnPtrQueue::push(CNode* cnPtr)    {       inStack.push(cnPtr);       ++numItems;    }    void cnPtrQueue::pop()    {       assert(!empty());       if (outStack.empty())       {          // transfer items from inStack to outStack          while (!inStack.empty())          {             outStack.push(inStack.top());             inStack.pop();          }       }       outStack.pop();       --numItems;    } } #include "nodes_LLoLL.h" #include "cnPtrQueue.h" #include using namespace std; namespace CS3358_SP2023_A5P2 {         // do breadth-first (level) traversal and print data    void ShowAll_BF(PNode* pListHead, ostream& outs)    {        cnPtrQueue queue;       CNode* currentNode;       queue.push(pListHead->data);       while (!queue.empty())       {          currentNode = queue.front();          queue.pop();          if (currentNode->link != 0)          {             queue.push(currentNode->link);          }          if (currentNode->data != 0)          {             outs << currentNode->data << "  ";             queue.push(currentNode->link);          }       }       outs << endl;    }     }

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

When I was compling my code this is the output I got.

yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data (int): Add more cList data? (n = no, others = yes) Enter cList data 

And this is what the output is supposed to looked like 

Dynamic memory for 0 CNodes freed
Dynamic memory for 1 PNodes freed
11 
11 
Dynamic memory for 1 CNodes freed
Dynamic memory for 1 PNodes freed
11  12  13  14 
11  12  13  14 
Dynamic memory for 4 CNodes freed
Dynamic memory for 1 PNodes freed
21  22  23  24 
21  22  23  24 
Dynamic memory for 0 CNodes freed
Dynamic memory for 4 CNodes freed
Dynamic memory for 2 PNodes freed
11  12  13  14 
11  12  13  14 
Dynamic memory for 4 CNodes freed
Dynamic memory for 0 CNodes freed
Dynamic memory for 2 PNodes freed
11  12  13  14  21  41  42 
11  21  41  12  42  13  14 
Dynamic memory for 4 CNodes freed
Dynamic memory for 1 CNodes freed
Dynamic memory for 0 CNodes freed
Dynamic memory for 2 CNodes freed
Dynamic memory for 4 PNodes freed
21  22  23  24  31  51  52 
21  31  51  22  52  23  24 
Dynamic memory for 0 CNodes freed
Dynamic memory for 4 CNodes freed
Dynamic memory for 1 CNodes freed
Dynamic memory for 0 CNodes freed
Dynamic memory for 2 CNodes freed
Dynamic memory for 5 PNodes freed

#ifndef NODES_LLOLL_H
#define NODES_LLOLL_H

#include <iostream>    // for ostream

namespace CS3358_SP2023_A5P2
{
   // child node
   struct CNode
   {
      int data;
      CNode* link;
   };

   // parent node
   struct PNode
   {
      CNode* data;
      PNode* link;
   };

   // toolkit functions for LLoLL based on above node definitions
   void Destroy_cList(CNode*& cListHead);
   void Destroy_pList(PNode*& pListHead);
   void ShowAll_DF(PNode* pListHead, std::ostream& outs);
   void ShowAll_BF(PNode* pListHead, std::ostream& outs);
}

#endif

#ifndef CN_PTR_QUEUE_H
#define CN_PTR_QUEUE_H

#include <cstdlib>        // for size_t
#include <stack>          // for STL stack template
#include "nodes_LLoLL.h"  // for CNode

namespace CS3358_SP2023_A5P2
{
   class cnPtrQueue
   {
   public:
      typedef std::size_t size_type;
      cnPtrQueue();
      bool empty() const;
      size_type size() const; // returns # of items in queue
      CNode* front();
      void push(CNode* cnPtr);
      void pop();
   private:
      std::stack<CNode*> inStack;
      std::stack<CNode*> outStack;
      size_type numItems;     // # of items in queue
   };
}

#endif

#include "cnPtrQueue.h"
#include <cassert>
using namespace std;
namespace CS3358_SP2023_A5P2
{
    cnPtrQueue::cnPtrQueue() : numItems(0)
   {
   }
   bool cnPtrQueue::empty() const
   {
      return numItems == 0;
   }
   cnPtrQueue::size_type cnPtrQueue::size() const
   {
      return numItems;
   }
   CNode* cnPtrQueue::front()
   {
      assert(!empty());
      if (outStack.empty())
      {
         // transfer items from inStack to outStack
         while (!inStack.empty())
         {
            outStack.push(inStack.top());
            inStack.pop();
         }
      }
      return outStack.top();
   }
   void cnPtrQueue::push(CNode* cnPtr)
   {
      inStack.push(cnPtr);
      ++numItems;
   }
   void cnPtrQueue::pop()
   {
      assert(!empty());
      if (outStack.empty())
      {
         // transfer items from inStack to outStack
         while (!inStack.empty())
         {
            outStack.push(inStack.top());
            inStack.pop();
         }
      }
      outStack.pop();
      --numItems;
   }
}

#include "nodes_LLoLL.h"
#include "cnPtrQueue.h"
#include <iostream>
using namespace std;

namespace CS3358_SP2023_A5P2
{
    
   // do breadth-first (level) traversal and print data
   void ShowAll_BF(PNode* pListHead, ostream& outs)
   {
       cnPtrQueue queue;
      CNode* currentNode;

      queue.push(pListHead->data);

      while (!queue.empty())
      {
         currentNode = queue.front();
         queue.pop();

         if (currentNode->link != 0)
         {
            queue.push(currentNode->link);
         }
         if (currentNode->data != 0)
         {
            outs << currentNode->data << "  ";
            queue.push(currentNode->link);
         }
      }

      outs << endl;
   }
   
}

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 {
57
58
59
60
61
62
S
63
64
65
66
67
68
69
70
1 72 73 74 75
71
V
72 ✓
}
}
cin>>oneInt;
CNode* cNodePtr = new CNode;
cNodePtr->data = oneInt;
cNodePtr->link = 0;
if (cListTail == 0)
cListHead = cListTail = cNodePtr;
else
{
cListTail->link = cNodePtr;
cListTail = cNodePtr;
}
if (argc < 2)
cout << "Add more cList data? (n = no, others = yes)";
cin >> reply;
void Build_pList(int argc, PNode*& pListHead)
char reply;
PNode* pListTail = pListHead;
if (argc < 2)
cout << "Add cList to pList? (n = no, others = yes)";
cin >> reply;
while (reply != 'n' && reply != 'N')
{
CNode* cListHead = 0;
Build_cList(argc, cListHead);
PNode* pNodePtr = new PNode;
pNodePtr->data = cListHead;
pNodePtr->link = 0;
== 0)
if (pListTail
pListHead = pListTail = pNodePtr;
else
{
pListTail->link
pListTail = pNodePtr;
=
pNodePtr;
Transcribed Image Text:38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 { 57 58 59 60 61 62 S 63 64 65 66 67 68 69 70 1 72 73 74 75 71 V 72 ✓ } } cin>>oneInt; CNode* cNodePtr = new CNode; cNodePtr->data = oneInt; cNodePtr->link = 0; if (cListTail == 0) cListHead = cListTail = cNodePtr; else { cListTail->link = cNodePtr; cListTail = cNodePtr; } if (argc < 2) cout << "Add more cList data? (n = no, others = yes)"; cin >> reply; void Build_pList(int argc, PNode*& pListHead) char reply; PNode* pListTail = pListHead; if (argc < 2) cout << "Add cList to pList? (n = no, others = yes)"; cin >> reply; while (reply != 'n' && reply != 'N') { CNode* cListHead = 0; Build_cList(argc, cListHead); PNode* pNodePtr = new PNode; pNodePtr->data = cListHead; pNodePtr->link = 0; == 0) if (pListTail pListHead = pListTail = pNodePtr; else { pListTail->link pListTail = pNodePtr; = pNodePtr;
1 #include "nodes_LLOLL.h"
2 #include <cstdlib>
3 using namespace std;
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using namespace CS3358_SP2023_A5P2;
34
35
36
37
void Build_cList(int argc, CNode*& cListHead);
void Build_pList(int argc, PNode*& pListHead);
int main(int argc, char* argv[])
{
PNode* head LLOLL = 0;
char reply;
do
}
{
Build_pList(argc, head_LLOLL);
ShowAll_DF (head_LLOLL, cout);
cout << endl;
ShowAll BF(head_LLOLL, cout);
cout << endl;
Destroy_pList (head_LLOLL);
24
25
26
27
28
29
30 void Build_cList(int argc, CNode* & cListHead)
31 {
32
33
if (argc < 2)
cout << "Another? (n = no, others = yes)";
cin >> reply;
}
while (reply != 'n' && reply != 'N');
return EXIT_SUCCESS;
int oneInt;
char reply;
CNode* cListTail = cListHead;
if (argc < 2)
cout << "Add cList data? (n = no, others = yes) ";
cin >> reply;
Transcribed Image Text:1 #include "nodes_LLOLL.h" 2 #include <cstdlib> 3 using namespace std; 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 using namespace CS3358_SP2023_A5P2; 34 35 36 37 void Build_cList(int argc, CNode*& cListHead); void Build_pList(int argc, PNode*& pListHead); int main(int argc, char* argv[]) { PNode* head LLOLL = 0; char reply; do } { Build_pList(argc, head_LLOLL); ShowAll_DF (head_LLOLL, cout); cout << endl; ShowAll BF(head_LLOLL, cout); cout << endl; Destroy_pList (head_LLOLL); 24 25 26 27 28 29 30 void Build_cList(int argc, CNode* & cListHead) 31 { 32 33 if (argc < 2) cout << "Another? (n = no, others = yes)"; cin >> reply; } while (reply != 'n' && reply != 'N'); return EXIT_SUCCESS; int oneInt; char reply; CNode* cListTail = cListHead; if (argc < 2) cout << "Add cList data? (n = no, others = yes) "; cin >> reply;
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 1 images

Blurred answer
Knowledge Booster
Random Class and its operations
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