#ifndef NODES_LLOLL_H #define NODES_LLOLL_H #include // for ostream namespace CS3358_SP2023_A5P2
#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
#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(lloLLPtr->getHead());
while (!queue.empty())
{
currentNode = queue.front();
queue.pop();
if (currentNode->dataIsPtr)
{
queue.push(currentNode->getDownPtr());
}
else
{
std::cout << currentNode->getDownData() << " ";
}
}
std::cout << std::endl;
}
void Destroy_cList(CNode*& cListHead)
{
int count = 0;
CNode* cNodePtr = cListHead;
while (cListHead != 0)
{
cListHead = cListHead->link;
delete cNodePtr;
cNodePtr = cListHead;
++count;
}
cout << "Dynamic memory for " << count << " CNodes freed"
<< endl;
}
void Destroy_pList(PNode*& pListHead)
{
int count = 0;
PNode* pNodePtr = pListHead;
while (pListHead != 0)
{
pListHead = pListHead->link;
Destroy_cList(pNodePtr->data);
delete pNodePtr;
pNodePtr = pListHead;
++count;
}
cout << "Dynamic memory for " << count << " PNodes freed"
<< endl;
}
// do depth-first traversal and print data
void ShowAll_DF(PNode* pListHead, ostream& outs)
{
while (pListHead != 0)
{
CNode* cListHead = pListHead->data;
while (cListHead != 0)
{
outs << cListHead->data << " ";
cListHead = cListHead->link;
}
pListHead = pListHead->link;
}
}
}
![>sh -c make -s
./nodes_LLOLL.cpp:15:18: error: use of undeclared identifier 'lloLLPtr'
queue.push(lloLLPtr->getHead());
./nodes_LLOLL.cpp:22:27: error: no member named 'dataIsPtr' in 'CS3358_SP2023_A5P2::CNode'
if (currentNode->dataIsptr)
NNNNNNNNNNN
./nodes_LLOLL.cpp:24:37: error: no member named 'getDownPtr' in 'CS3358_SP2023_A5P2::CNode'
queue.push(currentNode->get DownPtr());
NNNN
NNNN
./nodes_LLOLL.cpp:28:39: error: no member named 'getDownData' in 'CS3358_SP2023_A5P2::CNode'
std::cout <<< currentNode->getDownData() << " ";
NN
4 errors generated.
make: *** [Makefile:10: main] Error 1
exit status 2
Q Û](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fa3dbb91f-777d-47b2-aa94-40b3e17142a5%2Feffc69ac-b923-47e0-8d19-7672712cece6%2Fb7uz785_processed.png&w=3840&q=75)

Trending now
This is a popular solution!
Step by step
Solved in 2 steps








