Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

Question

In C++ I need to write a recursive function insertEnd that will call a recursive method insertEnd(const ItemType& newEntry, Node<ItemType>* node), to insert newEntry at the end of the linked list

I completely stuck and can't figure out where the error is coming from.
main
#include <iostream>
#include "LinkedList.cpp"

int main() {
Node<int>* first = new Node(1);
Node<int>* second = new Node(2);
Node<int>* third = new Node(3);

first->next = second;
second->next = third;

cout<<first->data<<endl;
cout<<first->next->data<<endl;
cout<<first->next->next->data<<endl;

LinkedList<int> list; //an empty linked list

for(int i =0; i<10; i++){
list.inserEnd(i);

list.display();
}
return 0;
}
linkedlist.cpp
#include "LinkedList.h"
#include "iostream"
using namespace std;
template <class T>
LinkedList<T>::LinkedList(){
head = nullptr;
}

template <class T>
void LinkedList<T>::insertEnd(const T& newEntry) {
Node<T>* newNode = new Node(newEntry);
if(head == nullptr) {
return newNode(newEntry);
}else
head->next = insertEnd(head->next, newEntry);
return head;
}

template <class T>
void LinkedList<T>::display(){

Node<T>* temp = head;

while(temp!=nullptr){
cout<<temp->data<<"->"; //display the data of node that temp points to
temp = temp->next; // advance the temp pointer to next node
}
cout<<endl;

}
LinkedList.h

#ifndef LIST_H
#define LIST_H

#include "node.h"


template <class T>
class LinkedList {
private:
Node<T>* head;
// int newEntry;
public:
LinkedList();
void insertEnd(const T& newEntry);
void display();

};

#endif
Node.h
#ifndef NODE_H
#define NODE_H

template <class T>
class Node{
public:
T data;
Node<T>* next;

Node(T d){
data = d;
next = nullptr;
}
};

#endif
Transcribed Image Text:> clang++-7 -pthread -std=C++17 -o main LinkedList.cpp main.cpp In file included from main.cpp:2: ./LinkedList.cpp:17:11: error: called object type 'Node<int> *' is not a function or function pointer return newNode(newEntry); main.cpp:22:8: note: in instantiation of member function 'LinkedList<int>::insertEnd' requested here list.insertEnd(i); In file included from main.cpp:2: ./LinkedList.cpp:20:3: error: void function 'insertEnd' should not return a value [-Wreturn-type] return head; 2 errors generated. compiler exit status 1
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
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
    SEE MORE QUESTIONS
    Recommended textbooks for you
    Text book image
    Database System Concepts
    Computer Science
    ISBN:9780078022159
    Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
    Publisher:McGraw-Hill Education
    Text book image
    Starting Out with Python (4th Edition)
    Computer Science
    ISBN:9780134444321
    Author:Tony Gaddis
    Publisher:PEARSON
    Text book image
    Digital Fundamentals (11th Edition)
    Computer Science
    ISBN:9780132737968
    Author:Thomas L. Floyd
    Publisher:PEARSON
    Text book image
    C How to Program (8th Edition)
    Computer Science
    ISBN:9780133976892
    Author:Paul J. Deitel, Harvey Deitel
    Publisher:PEARSON
    Text book image
    Database Systems: Design, Implementation, & Manag...
    Computer Science
    ISBN:9781337627900
    Author:Carlos Coronel, Steven Morris
    Publisher:Cengage Learning
    Text book image
    Programmable Logic Controllers
    Computer Science
    ISBN:9780073373843
    Author:Frank D. Petruzella
    Publisher:McGraw-Hill Education