Write a void function that takes a linked list of integers and reverses the order of its nodes. 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 same nodes as the original list, but in the reverse of the order they had in the original list. Note that your function will neither create nor destroy any nodes. It will simply rearrange nodes. Place your function in a suitable test
Trending nowThis is a popular solution!
Chapter 13 Solutions
Problem Solving with C++ (10th Edition)
Additional Engineering Textbook Solutions
Web Development and Design Foundations with HTML5 (9th Edition) (What's New in Computer Science)
C How to Program (8th Edition)
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Starting Out With Visual Basic (7th Edition)
Java How To Program (Early Objects)
Starting Out with Python (3rd Edition)
- Consider the following function that takes reference to head of a Doubly Linked List as parameter. Assume that anode of doubly linked list has previous pointer as prev and next pointer as next.void fun(struct node **head_ref){struct node *temp = NULL;struct node *current = *head_ref;while (current != NULL){temp = current->prev;current->prev = current->next;current->next = temp;current = current->prev;}if(temp != NULL )*head_ref = temp->prev;}Assume that reference of head of following doubly linked list is passed to above function 1 <--> 2 <--> 3 <--> 4 <--> 5 <-->6. What should be the modified linked list after the function call? Note: solve as soon as possiblearrow_forwardWrite 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.arrow_forwardSuppose you have two objects of Doubly Linked List D1 and D2. Each object is representing a different Doubly Linked List. Write a function to concatenate both doubly linked lists. The concatenation function must return the address of head node of concatenated Doubly Linked List, and it must take two Node* parameters. You need to keep in mind all exceptional cases for example what if either one of the doubly linked lists is empty? Perform this task on paper, take a clear picture of solution and paste it in answer section.arrow_forward
- Question 2: Write a function that takes a list of distinct integers l, and an integer k. Your function then finds the index of the integer in l, whose removal from l results in a list whose sum is k. For example, given [3,6,4,1,5,2] and 18, your function should return index 0, which corresponds to 3 in the list. Because, when 3 is removed from the list, the sum of the remaining list [6,4,1,5,2] is 18. You can assume that the given problem is always solvable. """ def removeOne(l, k):arrow_forwardWrite in C++ Now, what if Sam wants to insert Eevee after Pikachu but he doesn't know where Pikachu is located in his list. Let's help him search for a Pokemon by its name and insert another Pokemon directly after it. Write a function secondPlace() that takes six parameters and inserts a new Pokemon into a list right after another specified pokemon. Once you find the specified Pokemon, use the insertAfter() function from the previous sub-question to add the new Pokemon. The function should return the new number of strings in the array. Note The same Pokemon may appear in the list multiple times (Sam has a bad memory). Assume that Sam wants every instance of the Pokemon he is searching for to be followed by the Pokemon he is attempting to insert. If the array is already full or if the number of strings that are going to be added to the array plus the current number of strings exceeds the total size of the array, the array should remain unchanged. Assume all inputs are lowercase…arrow_forwardIn this coding question for linked lists, you may assume that the list use sentinels or not use sentinels. The choice is yours. but you must pick. If you wish to use sentinel nodes, you must clearly put in a comment before your code that you will be using sentinels. If the statement is not present I will assume you are not using sentinels. Suppose you were given the following declaration for a node and linked list. Every function listed below is a function you can call without implementing. Any function not listed below must be coded by you. class DList{ struct Node{ int data_; Node* next_; Node* prev_; Node(int data = 0, Node* nx=nullptr, Node* pr=nullptr){...} }; Node* front_; Node* back_; public: class const_iterator{ Node* curr_; friend class DList; const_iterator(Node* p){...} public: const_iterator(){...} const_iterator operator++(){...} const_iterator operator++(int){...}…arrow_forward
- Write a function countBottom() that takes a list as parameter, finds and returns the number of bottom values in the list.A bottom value is less than its predecessor and its successor.Assume that the list contains numbers.Example: [4, 2, 3, 7, 6, 6, 4, 3, 5, 8, 6, 7, 5] has 3 bottoms, the first 2, the second 3, and last 6. All these values are less than their predecessor and their successor. can u use pyhton and pls fast answer=)arrow_forwardWrite a function(in pyhton) that takes a list of distinct integers l, and an integer k. Your function then finds the index of the integer in l, whose removal from l results in a list whose sum is k. For example, given [3,6,4,1,5,2] and 18, your function should return index 0, which corresponds to 3 in the list. Because, when 3 is removed from the list, the sum of the remaining list [6,4,1,5,2] is 18. You can assume that the given problem is always solvable.arrow_forward1. 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_forward
- Please write a full C++ code and provide code and output Two stacks of the same type are the same if they have the same number of elements and their elements at the corresponding positions are the same. Overload the relational operator == for the class linkedStackTypethat returns true if two stacks of the same type are the same; it returns false otherwise. Also, write the definition of the function template to overload this operator.arrow_forwardSuppose a node of a linked list is defined as follows in your program: typedef struct{ int data; struct Node* link; } Node; Write the definition of a function, printOdd(), which displays all the odd numbers of a linked list. What will be the time complexity of printOdd()? Express the time complexity in terms of Big-O notation.arrow_forwardYou are given the pointer to the head node of a linked list and an integer to add to the list. Create a new node with the given integer. Insert this node at the tail of the linked list and return the head node of the linked list formed after inserting this new node. The given head pointer may be null, meaning that the initial list is empty. Function Description Complete the insertNodeAtTail function in the editor below. insertNodeAtTail has the following parameters: SinglyLinkedListNode pointer head: a reference to the head of a list int data: the data value for the node to insert Returns SinglyLinkedListNode pointer: reference to the head of the modified linked list Input Format The first line contains an integer , the number of elements in the linked list.The next lines contain an integer each, the value that needs to be inserted at tail. Constraints Sample Input STDIN Function ----- -------- 5 size of linked list n = 5 141 linked list data values…arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning