STARTING OUT WITH C++: >CI<
9th Edition
ISBN: 9780135226759
Author: GADDIS
Publisher: PEARSON EDUCATION (COLLEGE)
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 18, Problem 19RQE
In a “circular linked” list, the last node has a pointer to the first node.
Program Plan Intro
Linked list:
Linked list is a linear and dynamic data structure which is used to organize data; it contains sequence of elements which are connected together in memory to form a chain. The every element of linked list is called as a node.
There are three common types of linked list; they are as follows:
- Singly linked list
- Doubly linked list
- Circularly linked list
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
def normal (L): '' '(list of int) -> list
Precondition: len (L)> = 1 This function must return a new list R which has the same contents of L except where there is a sequence of consecutive zeros, the list R must have only one zero such that in the examples: >>> normal ([1,2,0,0,0,3,0]) [1, 2, 0, 3, 0] >>> normal ([1,2,0,0,0,3,0,0,0,0]) [1, 2, 0, 3, 0] >>> normal ([0,0,1,0,2,0,0,0,3,0,0,0,0,0]) [0, 1, 0, 2, 0, 3, 0] >>> normal ([1,2,2,0,3,3,3,0]) [1, 2, 2, 0, 3, 3, 3, 0] '' '
[1, 2, 0, 3, 0] >>> tanganyika([1,2,0,0,0,3,0,0,0,0]) [1, 2, 0, 3, 0] >>> tanganyika([0,0,1,0,2,0,0,0,3,0,0,0,0]) [0, 1, 0, 2, 0, 3, 0] >>> tanganyika([1,2,2,0,3,3,3,0]) [1, 2, 2, 0, 3, 3, 3, 0] ''' Please: Do not use dictionaries.- Do not use sets- Do not use 'break'.- You cannot import a library or other module
// FILL IN THE BLANKS (LINKED-LISTS CODE) (C++)#include<iostream>using namespace std;
struct ________ {int data ;struct node *next; };
node *head = ________;node *createNode() { // allocate a memorynode __________;temp = new node ;return _______ ;}
void insertNode(){node *temp, *traverse;int n;cout<< "Enter -1 to end "<<endl;cout<< "Enter the values to be added in list"<<endl;cin>>n;
while(n!=-1){temp = createNode(); // allocate memorytemp->data = ________;temp->next = ________;if ( ___________ == NULL){head = _________;}
else {traverse = ( );while (traverse->next != ________{traverse = traverse-> ___________;} traverse->next= temp;}
cout<<"Enter the value to be added in the list"<<endl;cin>>n;
}}
void printlist(){node *traverse = head; // if head == NULLwhile (traverse != NULL) {
cout<<traverse->data<<" ";traverse = traverse->next;}}
int main(){int option;
do{cout<<"\n =============== MAIN…
5. A linked list that stores int values would be comprised of a group of Nodes. Wemight define the Node by
A. class Node
{Node next;}B. class Node{int next;}
C. class Node
{
int data;
D. class Node
{
int data;Node next;
}
Chapter 18 Solutions
STARTING OUT WITH C++: >CI<
Ch. 18.1 - Prob. 18.1CPCh. 18.1 - Prob. 18.2CPCh. 18.1 - Prob. 18.3CPCh. 18.1 - Prob. 18.4CPCh. 18.2 - Prob. 18.5CPCh. 18.2 - Prob. 18.6CPCh. 18.2 - Prob. 18.7CPCh. 18.2 - Prob. 18.8CPCh. 18.2 - Prob. 18.9CPCh. 18.2 - Prob. 18.10CP
Ch. 18 - Prob. 1RQECh. 18 - Prob. 2RQECh. 18 - Prob. 3RQECh. 18 - Prob. 4RQECh. 18 - Prob. 5RQECh. 18 - Prob. 6RQECh. 18 - Prob. 7RQECh. 18 - Prob. 8RQECh. 18 - Prob. 9RQECh. 18 - Prob. 10RQECh. 18 - Prob. 11RQECh. 18 - Prob. 12RQECh. 18 - Prob. 13RQECh. 18 - Prob. 14RQECh. 18 - Prob. 15RQECh. 18 - Prob. 16RQECh. 18 - Prob. 17RQECh. 18 - Prob. 18RQECh. 18 - Prob. 19RQECh. 18 - Prob. 20RQECh. 18 - Prob. 21RQECh. 18 - Prob. 22RQECh. 18 - Prob. 23RQECh. 18 - Prob. 24RQECh. 18 - Prob. 25RQECh. 18 - T F The programmer must know in advance how many...Ch. 18 - T F It is not necessary for each node in a linked...Ch. 18 - Prob. 28RQECh. 18 - Prob. 29RQECh. 18 - Prob. 30RQECh. 18 - Prob. 31RQECh. 18 - Prob. 32RQECh. 18 - Prob. 33RQECh. 18 - Prob. 34RQECh. 18 - Prob. 35RQECh. 18 - Prob. 1PCCh. 18 - Prob. 2PCCh. 18 - Prob. 3PCCh. 18 - Prob. 4PCCh. 18 - Prob. 5PCCh. 18 - Prob. 6PCCh. 18 - Prob. 7PCCh. 18 - List Template Create a list class template based...Ch. 18 - Prob. 9PCCh. 18 - Prob. 10PCCh. 18 - Prob. 11PCCh. 18 - Prob. 12PCCh. 18 - Prob. 13PCCh. 18 - Prob. 14PCCh. 18 - Prob. 15PC
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
- i) Create a Node class that will hold three fields i.e an integer element and a reference to the next Node along with a reference to the previous Node. ii) Create a Dummy Headed Doubly Circular Linked list Abstract Data Type (ADT)named DoublyList.The elements in the list are Nodes consisting of an integer type key (all keys are unique) and a reference to the next node and a reference to the previous Node. Use Python. Do not use Numpyarrow_forwardc++,CPP,C++ Language (Linked List) Implement the singly linked list of Employee with data members Name, id andsalary. Add at least 5 nodes in the list. You will create a pointer named as head tokeep the address of first node of list. Create the following functions:arrow_forwardComputer Science lab3.h ------------- #include<stdio.h> #include<stdlib.h> #ifndef LAB3_H #define LAB3_H // A linked list node struct Node { int data; //Data struct Node *next; // Address to the next node }; //initialize: create an empty head node (whose "data" is intentionally missing); This head node will not be used to store any data; struct Node *init () { //create head node struct Node *head = (struct Node*)malloc(sizeof(struct Node)); } //Create a new node to store data and insert it to the end of current linked list; the head node will still be empty and data in the array in "main.c" are not stored in head node void insert(struct node *head, int data) { struct Node *newNode = (struct Node*)malloc(sizeof(struct Node)); new_node->data = data; new_node->next= head; } //print data for all nodes in the linked list except the head node (which is empty) void display (struct Node *head) { struct Node *current_node = head; while ( current_node != NULL) { printf("%d ",…arrow_forward
- C++ function Linked list Write a function, to be included in an unsorted linked list class, called replaceItem, that will receive two parameters, one called olditem, the other called new item. The function will replace all occurrences of old item with new item (if old item exists !!) and it will return the number of replacements done.arrow_forwardTopic: Doubly Linked List Deque Implement the following problem in the main case 0 (see attached photo) Your algorithm for the hierarchy problem should follow this: Evaluate the final set of operations first given the set of rules. Then, do the remove operations. Finally, do the add operations. DO NOT MIND THE #include "dlldeque.h" it is already implemented only the case 0 needs to be solved #include <iostream> #include <cstring> #include "dlldeque.h" using namespace std; int main(int argc, char** argv) { DLLDeque* deque = new DLLDeque(); int test; cin >> test; switch (test) { case 0: // perform your Hierarchy implementation here // utilize the deque initialized, // initialize variables you need before switch // you can use the print() method to debug, but not the final_print() // do not modify from this point onwards deque->final_print();…arrow_forwardC++ PROGRAMMINGTopic: Binary Search Trees Explain the c++ code below.: SEE ATTACHED PHOTO FOR THE PROBLEM INSTRUCTIONS It doesn't have to be long, as long as you explain what the important parts of the code do. (The code is already implemented and correct, only the explanation needed) #include "node.h" #include <iostream> using namespace std; class BTree { node* root; int size; node* create_node(int num, node* parent) { node* n = (node*) malloc( sizeof(node) ); n->element = num; n->parent = parent; n->right = NULL; n->left = NULL; return n; } public: BTree() { root = NULL; size = 0; } node* left(node* p) { return p->left; } node* right(node* p) { return p->right; } node* sibling(node* p){ if(p != root){ node* P = p->parent; if(P->left != NULL && P->right != NULL){…arrow_forward
- C++ PROGRAMMINGTopic: Binary Search Trees Explain the c++ code below.: SEE ATTACHED PHOTO FOR THE PROBLEM INSTRUCTIONS It doesn't have to be long, as long as you explain what the important parts of the code do. (The code is already implemented and correct, only the explanation needed) #include "node.h" #include <iostream> using namespace std; class BTree { node* root; int size; node* create_node(int num, node* parent) { node* n = (node*) malloc( sizeof(node) ); n->element = num; n->parent = parent; n->right = NULL; n->left = NULL; return n; } public: BTree() { root = NULL; size = 0; } node* left(node* p) { return p->left; } node* right(node* p) { return p->right; } node* sibling(node* p){ if(p != root){ node* P = p->parent; if(P->left != NULL && P->right != NULL){…arrow_forwardProgramming in C: Challenge 1: Create and Print a Doubly Linked List In class, I briefly mentioned how to create a doubly linked list (a linked list with two directions: forward and backwards). This task challenges you to create a doubly linked list of 5 nodes. If your nodes were called n1, n2, n3, n4 and n5 (which they shouldn’t, please give them original names), your list should be linked as follows: We discussed what "start" and "end" should be. Then, also in main, you will have to print the list forwards by taking advantage of the arrows pointing to the right. You will also have to print it backwards taking advantage of the arrows pointing to the left. Again, everything must be done in main. Hint: look at the way in which I printed the singly linked list in class. In other words, if your nodes had the values: n1=1, n2=2, n3=3, n4=4 and n5=5; your program should print:1 3 5 2 4 (forwards) and 4 2 5 3 1 (backwards). Please give different values to your nodes, they should not have…arrow_forwardtypedef struct node{int data;struct node *left,*right;}BST;The node structure of BST is shown above. Please design an efficient algorithm to return the maximum keyword value in BST. Completion function: int findmax (BST *T)arrow_forward
- Using C, Must be in C Create a menu driven program that performs the following tasks (each task is a menu item): a. Create a doubly linked list of length 5 using dynamic allocation. Your linked-list should support method Write a function on to print the content of the linked list following its order. Write a function on to reverse the doubly linked list. Write a function to Delete the first node in your doubly Linked listarrow_forwardC++ The List class represents a linked list of dynamically allocated elements. The list has only one member variable head which is a pointer that leads to the first element. See the following code for the destructor to List. ~ List () { for (int i = 0; i <size (); i ++) { pop_back (); } } What problems does the destructor have? Select one or more options: 1. There are no parameters for the destructor. 2. The return value from pop_back (if any) is nerver handled. 3. The destructor will create a stack overflow. 4. The destructor will create dangling pointers. 5.The destructor will create memory leaks. 6.The destructor will create undefined behavior (equivalent to zero pointer exception). 7.The condition must be: i <size () - 1 8. There is at least one problem with the destructor, but none of the above.arrow_forwardTopic: Singly Linked ListImplement the following functions in C++ program. Read the question carefully. (See attached photo for reference) int removeAt(int pos) Removes the number in the posth position of the list and returns the element removed. Performing removeAt(3) in the example list will remove the 3rd element of the linked list and the updated list will be: 10 -> 30 -> 50 When the value of pos is greater than the size or less than one, return -1. int removeAll(int num) Removes all instances of num in the linked list and returns the number of instances removed. In this list 10 -> 10 -> 20 -> 30 -> 10, performing removeAll(10) will remove all three 10's and the list will look like this: 20 -> 30. Then, it will return the number of instances removed, in this case, 3. int contains(int num) This will return the position of the first instance of the element num in the list. If num is not found, return 0. In the example, having the method contains(30) will…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Systems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage LearningC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning