
The following
#include <iostream>
#include <string>
using namespace std;
struct Node
{
string name;
Node *link;
};
typedef Node* NodePtr;
int main()
{
NodePtr listPtr, tempPtr;
listPtr = new Node;
listPtr–>name = “Emily”;
tempPtr = new Node;
tempPtr–>name = “James”;
listPtr–>link = tempPtr;
tempPtr–>link = new Node;
tempPtr = tempPtr–>link;
tempPtr–>name = “Joules”;
tempPtr–>link = NULL;
return 0;
}
Add code to the main function that:
- a. Outputs in order all names in the list.
- b. Inserts the name “Joshua” in the list after “James” then outputs the modified list.
- c. Deletes the node with “Joules” then outputs the modified list,
- d. Deletes all nodes in the list.

Creation of program to produce a linked list and perform operations
Program Plan:
- Define a structure “Node” with member variable and link to another node.
- Define a method “displayList()” to display nodes present in the list.
- Perform a loop operation until list reaches null.
- Display name of node and move to next node.
- Continue this process until list reaches null.
- Define a method “insertNameAfter()” to insert a name after a particular name.
- Perform a loop operation until list reaches null.
- Compare each word with given name.
- If required name is reached, insert new name after the given name.
- Update the next node pointer.
- Define a method “deleteNameList()” to delete a particular name in list.
- Perform a loop operation until list reaches null.
- Compare each word with given name.
- If required name is reached, delete name.
- Update the next node pointer.
- Define a method “deleteAllNodes()” to delete all nodes in list.
- Declare variables that are required for program.
- Perform a loop operation until list reaches null.
- Assign “head” to a temporary variable.
- Move to next node.
- Delete the “head” of linked list.
- Define a main method to perform operations on list.
- Declare variables that are required for program.
- Define nodes and assign values.
- Call method “displayList()” to display nodes in list.
- Call method “insertNameAfter()” to insert a name after a particular name.
- Call method “deleteNameList()” to delete a particular name in list.
- Call method “deleteAllNodes()” to delete all nodes in list.
Program Description:
The following C++ program describes about creation of program to create a linked list and perform operations on list.
Explanation of Solution
Program:
//Include libraries
#include <iostream>
#include <string>
//Use namespace
using namespace std;
//Define a structure
struct Node
{
//Declare member variable
string name;
//Declare link
Node *link;
};
//Define instance
typedef Node* NodePtr;
//Define a method displayList()
void displayList(NodePtr head)
{
//Loop until empty
while(head!=NULL)
{
//Display value
cout<<head->name<<" ";
//Move to next node
head=head->link;
}
//New line
cout<<endl;
}
//Define method insertNameAfter()
void insertNameAfter(NodePtr head,string sName, string newName)
{
//Declare variable
NodePtr temp;
//Create instance of node
temp=new Node;
//Assign value
temp->name=newName;
//Assign null value
temp->link=NULL;
//Loop until it reaches null
while(head!=NULL)
{
//If condition satisfies
if(head->name.compare(sName)==0)
{
//Assign value
temp->link=head->link;
//Assign value
head->link=temp;
//Break
break;
}
//Assign value
head=head->link;
}
}
//Define method deleteNameList()
void deleteNameList(NodePtr head,string sName)
{
//Declare variable
NodePtr prev=NULL;
//Loop until it reaches null
while(head!=NULL)
{
//If condition satisfies
if(head->name.compare(sName)==0)
{
//Assign value
prev->link=head->link;
//Delete
delete head;
//Break
break;
}
//Assign value
prev=head;
//Assign value
head=head->link;
}
}
//Define method deleteAllNodes()
void deleteAllNodes(NodePtr head)
{
//Declare variable
NodePtr temp;
//Loop
while(head)
{
//Assign value
temp=head;
//Move to next value
head=head->link;
//Delete node
delete temp;
}
}
//Define main method
int main()
{
//Declare variables
NodePtr listPtr,tempPtr;
//Create new instance
listPtr =new Node;
//Assign value
listPtr->name="Emily";
//Create new node
tempPtr=new Node;
//Assign value
tempPtr->name="James";
//Assign value
listPtr->link=tempPtr;
//Create new node
tempPtr->link=new Node;
//Move to next value
tempPtr=tempPtr->link;
//Assign value
tempPtr->name="Joules";
//Assign null value
tempPtr->link=NULL;
//Display message
cout<<"All Names in the list are: "<<endl;
//Call method displayList()
displayList(listPtr);
//Call method insertNameAfter()
insertNameAfter(listPtr,"James","Joshua");
//Display message
cout<<"Output modified list after Insert Joshua are:"<<endl;
//Call method displayList()
displayList(listPtr);
//Call method deleteNameList()
deleteNameList(listPtr,"Joules");
//Display message
cout<<"Output modified list after deleting Joshua are:"<<endl;
//Call method displayList()
displayList(listPtr);
//Call method deleteAllNodes()
deleteAllNodes(listPtr);
//Pause console window
system("pause");
//Return
return 0;
}
All Names in the list are:
Emily James Joules
Output modified list after Insert Joshua are:
Emily James Joshua Joules
Output modified list after deleting Joshua are:
Emily James Joshua
Press any key to continue . . .
Want to see more full solutions like this?
Chapter 13 Solutions
Problem Solving with C++ (9th Edition)
Additional Engineering Textbook Solutions
Web Development and Design Foundations with HTML5 (8th Edition)
Mechanics of Materials (10th Edition)
INTERNATIONAL EDITION---Engineering Mechanics: Statics, 14th edition (SI unit)
Introduction To Programming Using Visual Basic (11th Edition)
Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)
Modern Database Management
- Reading Chapters 10 of Ralph Stair's "Fundamentals of Information Systems" 9th Edition: Discussion questions: 3. Do you feel that the measures in place to protect your personal data you provide to health care organizations are sufficient? Why or why not?arrow_forwardWatch "Different Programming Languages" video. Discussion question: What did you learned from the programming languages videos?arrow_forwardPlease Do not answer of this computer science question. i will deslike.arrow_forward
- Jb tujhe rok rha hu question nhi kro kyu kr rhe ho sab pe deslike dunga id band ho jayegi. computer science.arrow_forwardDo not answer i will unhelpful. Computer Science.arrow_forwardReading Chapters 9 of Ralph Stair's "Fundamentals of Information Systems" 9th Edition: Chapter 9: Problem-solving: 1. Identify three commonly used antivirus software packages. Develop a spreadsheet that compares the cost and fundamental features of each package. Which antivirus solution would you choose and why? Upload an Excel Report with a title, data, and show off what you have learned.arrow_forward
- Computer Science A Caesar cipher is one of the simplest forms of encryption. It is a substitution cipher where each letter in the plaintext is shifted a certain number of places down the alphabet. For example, with a right shift of 3, 'A' would be replaced by 'D', 'B' would become 'E', and so on. The alphabet "wraps around," so with a shift of 3, 'X' would become 'A'. Your task is to implement this logic. 1. Develop a set of functions to encrypt a string using a Caesar cipher. 2. Develop a set of functions to decrypt a string using a Caesar cipher. 3. Develop a set of functions to help solve (break) a Caesar cipher by showing all possible shifts.4. Implement all of the above functions for TWO of the following languages: Encrypt, Decrypt, Solve in COBOL Encrypt, Decrypt, Solve in Fortran Encrypt, Decrypt, Solve in Pascal Examples of Usage The usage for encrypt and decrypt should be as follows: encrypt(str, shiftAmount) decrypt(str, shiftAmount) Pascal code fragment: var x: string;…arrow_forwardNo AI USE PLEASE. You are using a web browser to load a webpage. Let’s assume the size of the webpage is negligible. The access link rate of the webserver is 1 Gigabits per second. The IP address for the associated URL is not cached in your local host, so a DNS lookup is necessary to obtain the IP address. Suppose that n DNS servers are visited before your host receives the IP address from DNS; the successive visits incur an RTT of RTT1, . . . , RTTn. Let RTT0 denote the RTT between the local host and the webserver containing the webpage. Now answer the following: 1) Ignore all types of delays at the client and the servers. How much time elapses from when the client clicks on the link of the webpage until the client receives the content of the webpage? 2) Now suppose, the HTML file references 10 additional objects (15 MB each) on the same server. Considering only the transmission delay at the webserver for each of these objects and ignoring all other delays at the host and the servers,…arrow_forwardIn a client-server file distribution paradigm, let’s assume the server has an upload rate of 25 Mbps. Each client’s download rate is 3 Mbps. Now consider multiple scenarios where the number of clients is 50, 200, and 1000. For each of these scenarios, consider 2 possible upload rates of each client: 200 Kbps, and 1Mbps. For these 6 combinations of the number of clients and the client-upload rate, what are the minimum distribution times for a file of size 30 Gigabit? Now, if the same file needs to be distributed in a P2P paradigm, what will be the 6 minimum distribution times? Show all calculations and provide detailed explanations. No AI use Pleasearrow_forward
- First study the attached code for a simple internet ping server (UDP_Ping_Server.py). You will have to implement a corresponding client in python. The functionality provided by these programs will be similar to the functionality provided by standard ping programs available in modern operating systems. However, these programs will use a simpler protocol, UDP, rather than the standard Internet Control 1Message Protocol (ICMP) to communicate with each other. The ping protocol allows a client machine to send a packet of data to a remote machine, and have the remote machine return the data back to the client unchanged (an action referred to as echoing). Among other uses, the ping protocol allows hosts to determine round-trip times to other machines. Do not modify the attached server code. In this server code, 30% of the client’s packets are simulated to be lost. The server sits in an infinite loop listening for incoming UDP packets. When a packet comes in and if a randomized integer is…arrow_forward1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 199282222 20 # We will need the following module to generate randomized lost packets import random from socket import * # Create a UDP socket # Notice the use of SOCK_DGRAM for UDP packets serverSocket = socket (AF_INET, SOCK_DGRAM) # Assign IP address and port number to socket serverSocket.bind(('', 12000)) while True: # Generate random number in the range of 0 to 10 rand = random.randint(0, 10) # Receive the client packet along with the address it is coming from message, address = serverSocket.recvfrom (1024) # Capitalize the message from the client message = message.upper() # If rand is less is than 4, we consider the packet lost and do not respond if rand < 4: continue # Otherwise, the server responds serverSocket.sendto (message, address)arrow_forwardReading Chapters 7-8 of Ralph Stair's "Fundamentals of Information Systems" 9th Edition: Chapter 7: Discussion questions: 4. How could you use a community of practice (COP) to help you in your work or studies? How would you go about identifying who to invite to join the CoP? Chapter 8: Discussion questions: 2. Thoroughly discuss the pros and cons of buying versus building software.arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrSystems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage Learning
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageNew Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage LearningEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT




