Concept explainers
Purpose of the given code:
The given code is trying to insert the value of the variable “num” into the end of a linked list.
Given Code:
//Definition of function
void NumberList::appendNode(double num)//Line 1
{//Line 2
//Declaration of structure pointer variable
ListNode *newNode, *nodePtr;//Line 3
//Allocate a new node & store num
//Error #1
newNode = new listNode;//Line 4
newNode->value = num;//Line 5
// If there are no nodes in the list
// make newNode the first node
if (!head)//Line 6
head = newNode;//Line 7
// Otherwise, insert newNode at end
else //Line 8
{//Line 9
//Error #2
// Find the last node in the list
while (nodePtr->next)//Line 10
nodePtr = nodePtr->next;//Line 11
// Insert newNode as the last node
nodePtr->next = newNode;//Line 12
}//Line 13
}//Line 14
Want to see the full answer?
Check out a sample textbook solutionChapter 17 Solutions
MyProgrammingLab - For Gaddis: Starting Out with C++ From Control Structures through Objects
- Don't copy from other websties a) Write a function to get the value of the Nthnode in a Linked List. [Note: The first (N=1) item in the list means the item at index 0.] It takes two parameters: the list or its head, and N. Return False if the list has fewer than N elements. The Linked List structure supports the following function. def getHead(self): return self.head # it points to a Node structure The Node structure supports the following functions. def getData(self): return self.data # it returns the value stored in the Node def getNext(self): return self.next # it points to the next Node b) Write a function that counts the number of times a given integer occurs in a Linked List. Assume similar structures as defined in 1.arrow_forwardPlease code in C language. Please use the starter code to help you solve the deleted node and the reverse list. Here is the starter code: #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> #include "linkedlist.h" // print an error message by an error number, and return // the function does not exit from the program // the function does not return a value void error_message(enum ErrorNumber errno) { char *messages[] = { "OK", "Memory allocaton failed.", "Deleting a node is not supported.", "The number is not on the list.", "Sorting is not supported.", "Reversing is not supported.", "Token is too long.", "A number should be specified after character d, a, or p.", "Token is not recognized.", "Invalid error number."}; if (errno < 0 || errno > ERR_END) errno = ERR_END; printf("linkedlist: %s\n", messages[errno]); } node *new_node(int v) { node *p =…arrow_forwardstarter code: in java pls and thank you! public class LinkedList { private Node head; private Node tail; public void add(String item) { Node newItem = new Node(item); // handles the case where the new item // is the only thing in the list if (head == null) { head = newItem; tail = newItem; return; } tail.next = newItem; tail = newItem; } public void print() { Node current = head; while (current != null) { System.out.println(current.item); current = current.next; } } public void printWithSkips() { // TODO your code here } class Node { String item; Node next; public Node(String item) { this.item = item; this.next = null; } } } and public class Driver { public static void…arrow_forward
- Start this lab with the code listed below. The LinkedList class defines the rudiments of the code needed to build a linked list of Node objects. You will first complete the code for its addFirst method. This method is passed an object that is to be added to the beginning of the list. Write code that links the passed object to the list by completing the following tasks in order:1. Create a new Node object.2. Make the data variable in the new Node object reference the object that was passed to addFirst.3. Make the next variable in the new Node object reference the object that is currently referenced in variable first.4. Make variable first reference the new Node.Test your code by running the main method in the LinkedListRunner class below. Explain, step by step, why each of the above operations is necessary. Why are the string objects in the reverse order from the way they were added? public class LinkedList{ private Node first; public LinkedList() { first = null; } public Object…arrow_forwardusing namespace std; class SinglyLinkedListNode { // INSERT YOUR CODE HERE }; class SinglyLinkedList { public: SinglyLinkedListNode *head; SinglyLinkedListNode *tail; SinglyLinkedList() { this->head = nullptr; this->tail = nullptr; } voidinsert_node(intnode_data) { // INSERT YOUR CODE HERE } }; void free_singly_linked_list(SinglyLinkedListNode* node) { // INSERT YOUR CODE HERE } // Complete the has_cycle function below. /* * For your reference: * * SinglyLinkedListNode { * int data; * SinglyLinkedListNode* next; * }; * */ bool has_cycle(SinglyLinkedListNode* head) { SinglyLinkedListNode* temp = head; bool isCycle = false; while (temp != nullptr) { // INSERT YOUR CODE HERE } } int main() { // INSERT YOUR CODE HERE TO TEST YOUR CODE return0; }arrow_forwardWhat does this part of code do? void addRecord(Node *& head, Node *& tail, string name, double balance){ Node *newNode = new Node; newNode->name = name; newNode->balance = balance; newNode->next = NULL; newNode->prev = NULL; // If list is empty, make newNode the first node if(head == NULL){ head = newNode; tail = newNode; } else{ Node *temp = head; // Loop through list until temp->next is NULL while(temp->next != NULL){ temp = temp->next; } temp->next = newNode; newNode->prev = temp; tail = newNode; }} /*arrow_forward
- Public class DLL{ public DLLNode first; public DLLNode last; public DLL() {this.first=Null; this.last=Null;} Public void Display() {if (first==Null) {s.o.p(“ the list is empty”);} else {for (DLLNode curr=first; curr!=Null; curr=curr.succ) {System.out.println(“the element is”+ curr.element); }} Public void AddBegining(DLLNode Node) {Node.succ=first; First.prev=Node First=Node; Node.prev=Null; if(first ==null && last==null) Last=node; } Public void Append(DLLNode Node) {Node.succ=Null; if(first==Null) {first=Node; Node.prev=Null} Public void insetAfter(int obj, DLLNode Node) {DLLNode curr=first; while((curr!=Null)&&( curr.element!=obj)) { curr=curr.succ; } If(curr.element==obj) {Node.succ=curr.succ; Curr.succ.prev=Node; Curr.succ=Node; Node.prev=curr;} Else System.out.println(“the element doesn’t exist”); Public void delete(DLLNode del) { if(first==Null) {System.out.println(“the list is empty”); } Else if(del==first)…arrow_forwardclass Node: def __init__(self, e, n): self.element = e self.next = n class LinkedList: def __init__(self, a): # Design the constructor based on data type of a. If 'a' is built in python list then # Creates a linked list using the values from the given array. head will refer # to the Node that contains the element from a[0] # Else Sets the value of head. head will refer # to the given LinkedList # Hint: Use the type() function to determine the data type of a self.head = None # To Do # Count the number of nodes in the list def countNode(self): # To Do # Print elements in the list def printList(self): # To Do # returns the reference of the Node at the given index. For invalid index return None. def nodeAt(self, idx): # To Doarrow_forwardGiven the declarations struct NodeType{ int data; NodeType* link;};NodeType* headPtr; // External pointer to a linked listNodeType* p;Write the code that would sum all the elements in the list.arrow_forward
- Question 1 If N represents the number of elements in the collection, then the add method of the SortedArrayCollection class is O(N). True False Question 2 If N represents the number of elements in the list, then the index-based remove method of the ABList class is O(N). True False Question 3 The add method of our Collection ADT might throw the CollectionOverflowException. True False Question 4 A list allows retrieval of information based on the size of the information. True False Question 5 Our CollectionInterface defines a single constructor. True False Question 6 Our lists allow null elements. True False Question 7 Even though our collections will be generic, our CollectionInterface is not generic. True False Question 8 Our lists are unbounded. True False Question 9 If N represents the number of elements in the collection, then the contains method of the ArrayCollection class is O(N). True False Question 10 Our lists allow duplicate elements. True Falsearrow_forwardStudy the code below: public __________ ____________() { MyLinkedList newlist = new MyLinkedList<>(); for(Node ptr=head;ptr!=null;ptr=ptr.next) { newlist.prepend(ptr.element); } return newlist; } What is the purpose of the codearrow_forwardGrocery shopping list (linked list: inserting at the end of a list) Given main() in the ShoppingList class, define an insertAtEnd() method in the ItemNode class that adds an element to the end of a linked list. DO NOT print the dummy head node. Ex. if the input is: 4 Kale Lettuce Carrots Peanuts where 4 is the number of items to be inserted; Kale, Lettuce, Carrots, Peanuts are the names of the items to be added at the end of the list. The output is: Kale Lettuce Carrots Peanutsarrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education