// Code is buggy. Fix bugs. Do NOT re-write the whole code!
#include <iostream>
using namespace std;
class LinkedList;
class Node
{
private:
string data;
Node* next;
public:
Node(string s, Node* n);
string getData() {return data;}
Node* getNext() {return next;}
}
Node::Node(string s, Node* n)
{
data = s;
next = n;
}
class LinkedList {
private:
Node* head;
public:
LinkedList();
bool insert(string s);
friend ostream& operator<<(ostream& os, LinkedList
l);
};
LinkedList::LinkedList() : head(nullptr)
{ }
bool LinkedList::insert(string s)
{
// Create a node
Node n = new Node(s, head);
head = n;
}
ostream& operator<<(ostream& os, LinkedList
l)
{
Node* n = l->head;
while (n == nullptr) {
os << n->getData() << " ";
n = n->getNext();
}
}
int main()
{
LinkedList poets;
poets.insert("Wordsworth");
poets.insert("Shelley");
poets.insert("Byron");
cout << poets << endl; //Should print Byron
Shelley Wordsworth
}
#include <iostream>
using namespace std;
//class LinkedList;//removed
class Node
{
public:
string data;
Node* next;
public:
Node(string s, Node* n);
string getData() {return data;}
Node* getNext() {return next;}
};//semicolon added here
Node::Node(string s, Node* n)
{
data = s;
next = n;
}
class LinkedList {
public://modified
Node* head;
public:
LinkedList();
bool insert(string s);
friend ostream& operator<<(ostream& os, LinkedList
*l);
};
LinkedList::LinkedList() //: head(nullptr)
{
head=NULL;
}
bool LinkedList::insert(string s)
{
// Create a node
Node *n = new Node(s, head);//modified
head = n;
}
ostream& operator<<(ostream& os, LinkedList
*l)//modified
{
Node* n = l->head;
while (n != NULL) //modified
{
os << n->getData() << " ";
n = n->getNext();
}
}
int main()
{
LinkedList *poets= new LinkedList();
poets->insert("Wordsworth");
poets->insert("Shelley");
poets->insert("Byron");
cout << poets<<endl; //Should print Byron Shelley
Wordsworth
return 0;
}
output:
Byron Shelley Wordsworth
Process exited with return value 3221225477
Press any key to continue . . .
// Code is buggy. Fix bugs. Do NOT re-write the whole code! #include <iostream> using namespace...
C++ program: Convert the classes to template classes #include <iostream> #include <string> using namespace std; class Node { private: int data; Node* next; public: Node(int data) { this->data=data; this->next = 0; } int getData(){return data;} Node* getNext(){return next;} void setNext(Node* next){this->next=next;} }; class LinkedList { private: Node* head = 0; public: int isEmpty() {return head == 0;} void print() { Node* currNode = head; while(currNode!=0) { cout << currNode->getData() << endl; currNode = currNode->getNext(); } } void append(int data) {...
C++ LinkedList I need the code for copy constructor and assignment operator #include <iostream> #include <string> using namespace std; typedef string ItemType; struct Node { ItemType value; Node *next; }; class LinkedList { private: Node *head; // You may add whatever private data members or private member functions you want to this class. void printReverseRecursiveHelper(Node *temp) const; public: // default constructor LinkedList() : head(nullptr) { } // copy constructor LinkedList(const LinkedList& rhs); // Destroys all the dynamically allocated memory //...
For the LinkedList class, create a getter and setter for the private member 'name', constructing your definitions based upon the following declarations respectively: std::string get_name() const; and void set_name(std::string); In the Main.cpp file, let's test your getter and setter for the LinkedLIst private member 'name'. In the main function, add the following lines of code: cout << ll.get_name() << endl; ll.make_test_list(); ll.set_name("My List"); cout << ll.get_name() << endl; Output should be: Test List My List Compile and run your code;...
Below is the given code of implementation: #include <string> #include <iostream> #include <list> #include <cassert> using namespace std; class List; class Iterator; class Node { public: /* Constructs a node with a given data value. @param s the data to store in this node */ Node(string s); /* Destructor */ ~Node() {} private: string data; Node* previous; Node* next; friend class List; friend class Iterator; }; class List { public: /** Constructs an empty list. */ List(); /* Destructor. Deletes...
Please rewrite this function using recursive function #include using namespace std; struct Node { char ch; Node* next; }; class LinkedList { Node* head; public: LinkedList(); ~LinkedList(); void add(char ch); bool find(char ch); bool del(char ch); friend std::ostream& operator<<(std::ostream& out, LinkedList& list); }; LinkedList::LinkedList() { head = NULL; } LinkedList::~LinkedList() { Node* cur = head, * tmp; while (cur != NULL) { tmp = cur->next; delete cur; cur = tmp; } } void LinkedList::add(char ch) { Node* cur = head,...
C++ - I have a doubly linked list, but I haven't been able to get the "reverse list" option in the code to work(It's option #in the menu in the program). I received this guidance for testing: Test 4 cases by entering (in this order) c,a,z,k,l,m This tests empty list, head of list, end of list and middle of list. Then delete (in this order) a,z,l. This tests beginning, end and middle deletes. This exhaustively tests for pointer errors. #include...
// Node.h #ifndef NODE_H #define NODE_H class Node { private: int m_entry; Node *m_next; public: Node(); Node(int entry); int getEntry() const; void setEntry(int entry); Node *getNext(); void setNext(Node *next); }; #endif // Node.cpp #include "Node.h" Node::Node() { m_entry = 0; m_next = nullptr; } Node::Node(int entry) { m_entry = entry; } int Node::getEntry() const { return m_entry; } void Node::setEntry(int entry) { m_entry = entry; } Node *Node::getNext() { return m_next; } void Node::setNext(Node *next) { m_next = next; }...
BELOW IS THE CODE I ALREADY HAVE Linked List - Delete Modify Lab 5 and include the method to delete a node from the Linked List. In summary: 1) Add the method Delete 2) Method call to delete, with a number that IS in the list 3) Method call to delete, with a number that is NOT in the list - Be sure to include comments - Use meaningful identifier names (constants where appropriate) import java.io.*; 1/ Java program to...
USING THIS CODE: #include <iostream> #include <string> using namespace std; class Contact { //this class cannot be viewed from outside of the private class. //only the class functions within the class can access private members. private: string name; string email; string phone; //the public class is accessible from anywhere outside of the class //however can only be within the program. public: string getName() const { return name; } void setName(string name) { this->name = name; } string getEmail() const {...
#include <iostream> #include <string> #include <cstring> using namespace std; class Node{ private: int data; Node* nextNodePtr; public: Node(){} void setData(int d){ data = d; } int getData(){ return data; } void setNextNodePtr(Node* nodePtr){ nextNodePtr = nodePtr; } ...