MyLab Programming with Pearson eText -- Standalone Access Card -- for Starting Out With C++: Early Objects (My Programming Lab)
9th Edition
ISBN: 9780134379548
Author: Tony Gaddis, Judy Walters, Godfrey Muganda
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Textbook Question
Chapter 17, Problem 12RQE
Write a function
ListNode *removeFirst(ListNode *ptr)
that is passed a linked list as parameter and returns the tail of the list: That is, it removes the first node and returns what is left. The function should deallocate the storage of the removed node. The function returns nullptr if the list passed to it is empty.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Write a function that changes the places of the first and second nodes of a linked list. I.e. the First node will become the second node, and the second node will become the first node.
THE FUNCTION WILL NOT EXCHANGE DATA, IT WILL CHANGE LINKS.
Write a void function that takes a linked list of integers and removes all the duplicate elements from the list. The function will have one call-by-reference parameter that is a pointer to the head of the list. After the function is called, this pointer will point to the head of a linked list that has the nodes that have all the distinct integers. Place your function in a suitable test program.
Write a functionLi stNode *removeFirst( ListNode *ptr)that is passed a linked list as parameter and returns the tai l of the list: That is, itremoves the first node and returns what is left. The function should deallocate thestorage of the removed node. The function returns null ptr if the list passed to itis empty.
Chapter 17 Solutions
MyLab Programming with Pearson eText -- Standalone Access Card -- for Starting Out With C++: Early Objects (My Programming Lab)
Ch. 17.1 - Prob. 17.1CPCh. 17.1 - Prob. 17.2CPCh. 17.1 - Prob. 17.3CPCh. 17.1 - Prob. 17.4CPCh. 17.2 - Prob. 17.5CPCh. 17.2 - Prob. 17.6CPCh. 17.2 - Why does the insertNode function shown in this...Ch. 17.2 - Prob. 17.8CPCh. 17.2 - Prob. 17.9CPCh. 17.2 - Prob. 17.10CP
Ch. 17 - Prob. 1RQECh. 17 - Prob. 2RQECh. 17 - Prob. 3RQECh. 17 - Prob. 4RQECh. 17 - Prob. 5RQECh. 17 - Prob. 6RQECh. 17 - Prob. 7RQECh. 17 - Prob. 8RQECh. 17 - Prob. 9RQECh. 17 - Write a function void printSecond(ListNode ptr}...Ch. 17 - Write a function double lastValue(ListNode ptr)...Ch. 17 - Write a function ListNode removeFirst(ListNode...Ch. 17 - Prob. 13RQECh. 17 - Prob. 14RQECh. 17 - Prob. 15RQECh. 17 - Prob. 16RQECh. 17 - Prob. 17RQECh. 17 - Prob. 18RQECh. 17 - Prob. 1PCCh. 17 - Prob. 2PCCh. 17 - Prob. 3PCCh. 17 - Prob. 4PCCh. 17 - Prob. 5PCCh. 17 - Prob. 6PCCh. 17 - Prob. 7PCCh. 17 - Prob. 8PCCh. 17 - Prob. 10PCCh. 17 - Prob. 11PCCh. 17 - Prob. 12PCCh. 17 - Running Back Program 17-11 makes a person run from...Ch. 17 - Read , Sort , Merge Using the ListNode structure...
Additional Engineering Textbook Solutions
Find more solutions based on key concepts
What does a comparator do?
Digital Fundamentals (11th Edition)
(Sum a Sequence of Integers) Write a program that sums a sequence of integers. Assume that the first integer re...
C How to Program (8th Edition)
What is the output produced by the following (when embedded in a correct program with x declared to be of type ...
Problem Solving with C++ (9th Edition)
Assume a program uses the named constant PI to represent the value 3.14159. The program uses the named constant...
Starting Out with Python (4th Edition)
True or False: There are two versions of the regionMatches method: one that is case-sensitive and one that can ...
Starting Out with Java: From Control Structures through Objects (6th Edition)
Explain why using model checking is sometimes a more cost-effective approach to verification than verifying a p...
Software Engineering (10th Edition)
Knowledge Booster
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
- Write a driver function called size that takes as its parameter a linked list (nodeType pointer). The function should count how many nodes are in the list and return that value to the calling function.arrow_forwardWrite a C function reverseList() that takes a linked-list header as a parameter, reverses the order of the nodes. When the function returns, the 1st node will be the last, 2nd node will be 2nd from the end, ..., the last node will be the 1st,arrow_forwardA linked list is said to contain a cycle if any node is visited more than once while traversing the list. Given a pointer to the head of a linked list, determine if it contains a cycle. If it does, return . Otherwise, return . Example refers to the list of nodes The numbers shown are the node numbers, not their data values. There is no cycle in this list so return . refers to the list of nodes There is a cycle where node 3 points back to node 1, so return . Function Description Complete the has_cycle function in the editor below. It has the following parameter: SinglyLinkedListNode pointer head: a reference to the head of the list Returns int: if there is a cycle or if there is not Note: If the list is empty, will be null. Input Format The code stub reads from stdin and passes the appropriate argument to your function. The custom test cases format will not be described for this question due to its complexity. Expand the section for the main function and review the…arrow_forward
- 1. Suppose you have already developed an SLL ADT. You have to search a specificelement of the linked list. If you find the element in the list then you have to swapits previous node with its next node. Otherwise, simply print the message “Datanot found”. Now write a function in your SLL ADT with this functionality.arrow_forwardWrite a function that gets a linked list of ints, and reverses it. For example - on input 1 -> 2 -> 3 -> 4, after the function finishes the execution, the list becomes 4 -> 3 -> 2 -> 1 - If the list has one element, then it doesn’t change - If the list is empty, then it doesn’t change You may use the data fields in the struct and the functions provided in LL.h and LL.c. // reverses a linked list void LL_reverse(LL_t* list); Test for the Function: void test_q3() { LL_t* lst = LLcreate(); LL_add_to_tail(lst, 1); LL_add_to_tail(lst, 3); LL_add_to_tail(lst, 8); LL_add_to_tail(lst, 4); LL_add_to_tail(lst, 3); LL_reverse(lst); intcorrect[] = {3,4,8,3,1}; inti; node_t* n = lst->head; for(i=0;i<5;i++) { if (n==NULL) { printf("Q3 ERROR: node %d==NULL unexpected\n", i); return; } if (n->data != correct[i]) { printf("Q3 ERROR: node%d->data==%d, expected %d\n", i, n->data, correct[i]); return; } n = n->next; } if (n==NULL) printf("Q3 ok\n"); } Support…arrow_forwardWrite a function that gets a linked list of ints, and reverses it. For example - on input 1 -> 2 -> 3 -> 4, after the function finishes the execution, the list becomes 4 -> 3 -> 2 -> 1 - If the list has one element, then it doesn’t change - If the list is empty, then it doesn’t change You may use the data fields in the struct and the functions provided in LL.h and LL.c. // reverses a linked list void LL_reverse(LL_t* list); Test for the Function; void test_q3() { LL_t* lst = LLcreate(); LL_add_to_tail(lst, 1); LL_add_to_tail(lst, 3); LL_add_to_tail(lst, 8); LL_add_to_tail(lst, 4); LL_add_to_tail(lst, 3); LL_reverse(lst); intcorrect[] = {3,4,8,3,1}; inti; node_t* n = lst->head; for(i=0;i<5;i++) { if (n==NULL) { printf("Q3 ERROR: node %d==NULL unexpected\n", i); return; } if (n->data != correct[i]) { printf("Q3 ERROR: node%d->data==%d, expected %d\n", i, n->data, correct[i]); return; } n = n->next; } if (n==NULL) printf("Q3 ok\n"); } Support File…arrow_forward
- complete a C program which delete the first and last nodes of Linked List by using below functions: void Firstnodedelete(); void Lastnodedelete();arrow_forward1.In a linear linked list, write a function named changeFirstAndLast that swaps the node at the end of the list and the node at the beginning of the list. The function will take a list as a parameter and return the updated list. 2. A singly linear list stores integer values in each node and has multiple nodes. Write a function using given prototype below. This function cuts the first node of the list and adds it to the end as last node. It takes beginning address of the list as a parameter and returns the updated list.struct node* cutheadaddlast(struct node* head);struct node { int number; struct node * next; }; 3.Adding the even numbers to the beginning of the list and odd numbers to the end of the list until -1 is entered from keyboard.struct node { int number; struct node * next; }; 4.Write a function that takes two parameters head (list name) and age (given student age). The function deletes node (free this memory location) by finding the second node with the given age value in…arrow_forwardWrite a function REMOVE-NUM that takes a list and returns a list consisting of the original list with all numeric atoms removed. Examples: (REMOVE-NUM '(2 A 6 B 1 C 7 D)) returns the list (A B C D) (REMOVE-NUM '(3 A 4 B (1 E) 7 D)) returns the list (A B (E) D)arrow_forward
- Implement in C Programming 8.18.1: LAB: Simple linked list Given an IntNode struct and the operating functions for a linked list, complete the following functions to extend the functionality of the linked list: IntNode* IntNode_GetNth(IntNode* firstNode, int n)- Return a pointer to the nth node of the list starting at firstNode. void IntNode_PrintList(IntNode* firstNode) - Call IntNode_PrintNodeData() to output values of the list starting at firstNode. Do not add extra space characters in between values. int IntNode_SumList(IntNode* firstNode) - Return the sum of the values of all nodes starting at firstNode. Note: The code for IntNode_Create() provided here differs from the code shown in the book. The given main() performs various actions to test IntNode_GetNth(), IntNode_PrintList(), and IntNode_SumList(). main() reads 5 integers from a user: The number of nodes to be added to a new list The value of the first node of the list An increment between the values of two consecutive…arrow_forwardSets are collections (1) without defined order and (2) not allowing duplication. Multisets, also called “bags” are collections without defined order but which permit duplication, i.e., more than one element. We define the function #(a B) to be the number of occurrences of the element a in the bag B. For example, #(1, [1 1 2 3 4 4 5]) is 2 and #(5, [1 1 2 3 4 4 5]) = 1. sum : List × List -> ListThis function should take as arguments two lists representing bags and should return the list representing the list resulting from simply appending the input lists together. Racket code only please. No loops Allowed: 1. define, let2. lambda3. cons, car, cdr, list, list?, append, empty?, length, equal?4. and, or, not5. if, cond7. +, -, /, * Thank you!arrow_forwardIn c++ , write a program to create a structure of a node, create a class Linked List. Implement all operations of a linked list as member function of this class. • create_node(int); • insert_begin(); • insert_pos(); • insert_last(); • delete_pos(); • sort(); • search(); • update(); • reverse(); • display(); ( Drop coding in words with screenshot of output as well )arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Introduction to Linked List; Author: Neso Academy;https://www.youtube.com/watch?v=R9PTBwOzceo;License: Standard YouTube License, CC-BY
Linked list | Single, Double & Circular | Data Structures | Lec-23 | Bhanu Priya; Author: Education 4u;https://www.youtube.com/watch?v=IiL_wwFIuaA;License: Standard Youtube License