
Explanation of Solution
Program code:
//include the required header files
#include<iostream>
#include<cstdio>
#include<cstdlib>
/* Node Declaration*/
using namespace std;
//create a structure
struct node
{
//structure members
int info;
struct node *next;
struct node *prev;
}*start;
/*Class Declaration */
class double_llist
{
//public access modifier
public:
//declare the member functions
void create_list(int value);
void add_begin(int value);
void add_after(int value, int position);
void delete_element(int value);
void search_element(int value);
void display_dlist();
void count();
void reverse();
//define a method
double_llist()
{
//set the value of start
start = NULL;
}
};
/* Main*/
int main()
{
//declare the required variables
int choice, element, position;
double_llist dl;
//iterate a while loop
while (1)
{
//display the choices
cout<<endl<<"----------------------------"<<endl;
cout<<endl<<"Operations on Doubly linked list"<<endl;
cout<<endl<<"----------------------------"<<endl;
cout<<"1.Create Node"<<endl;
cout<<"2.Add at begining"<<endl;
cout<<"3.Add after position"<<endl;
cout<<"4.Delete"<<endl;
cout<<"5.Display"<<endl;
cout<<"6.Count"<<endl;
cout<<"7.Reverse"<<endl;
cout<<"8.Quit"<<endl;
//prompt the user to enter the choice
cout<<"Enter your choice : ";
cin>>choice;
//switch cases
switch ( choice )
{
//case 1
case 1:
//prompt the user to enter the element
cout<<"Enter the element: ";
//scan for the value
cin>>element;
//call the method create_list(element)
dl.create_list(element);
//new line
cout<<endl;
//break fron the case
break;
case 2:
//prompt the user to enter the element
cout<<"Enter the element: ";
//scan for the value
cin>>element;
//call the method add_begin(element)
dl.add_begin(element);
//new line
cout<<endl;
//break fron the case
break;
case 3:
//prompt the user to enter the element
cout<<"Enter the element: ";
//scan for the value
cin>>element;
//prompt the user to enter the position
cout<<"Insert Element after postion: ";
cin>>position;
//call the method add_after(element)
dl.add_after(element, position);
//new line
cout<<endl;
//break fron the case
break;
case 4:
//if the condition is true
if (start == NULL)
{
//print the statement
cout<<"List empty,nothing to delete"<<endl;
//break fron the condition
break;
}
//prompt the user to enter the element
cout<<"Enter the element for deletion: ";
//scan for the value
cin>>element;
//call the method delete_element(element)
dl.delete_element(element);
//new line
cout<<endl;
//break fron the case
break;
case 5:
//call the method display_dlist(element)
dl.display_dlist();
//new line
cout<<endl;
//break fron the case
break;
case 6:
//call the method count(element)
dl.count();
//break fron the case
break;
case 7:
//if the condition is true
if (start == NULL)
{
//print the statement
cout<<"List empty,nothing to reverse"<<endl;
//break fron the condititon
break;
}
//call the method reverse(element)
dl.reverse();
//new line
cout<<endl;
//break fron the case
break;
case 8:
//exit from while loop
exit(1);
default:
//print the statement
cout<<"Wrong choice"<<endl;
}
}
//return zero
return 0;
}
/* Create Double Link List*/
void double_llist::create_list(int value)
{
//create struct vaiable
struct node *s, *temp;
//set the value of temp
temp = new(struct node);
//insert the value
temp->info = value;
//set next as Null
temp->next = NULL;
//if the condition is true
if (start == NULL)
{
//set prev equal to Null
temp->prev = NULL;
//set start equal to temp
start = temp;
}
else
{
//set s equal to start
s = start;
//iterate a while loop
while (s->next != NULL)
//assign the value
s = s->next;
s->next = temp;
temp->prev = s;
}
}
/* Insertion at the beginning */
void double_llist::add_begin(int value)
{
//if the condition is true
if (start == NULL)
{
//print the statement
cout<<"First Create the list."<<endl;
return;
}
//inserting the element
struct node *temp;
temp = new(struct node);
temp->prev = NULL;
temp->info = value;
temp->next = start;
start->prev = temp;
start = temp;
cout<<"Element Inserted"<<endl;
}
/* Insertion of element at a particular position*/
void double_llist::add_after(int value, int pos)
{
//if the condition is true
if (start == NULL)
{
//print the statement
cout<<"First Create the list."<<endl;
//return
return;
}
//create struct variables
struct node *tmp, *q;
//create the required variables
int i;
q = start;
//iterate a for loop
for (i = 0;i < pos - 1;i++)
{
//set the value of q
q = q->next;
//if the value of q equal to null
if (q == NULL)
{
//print the statement
cout<<"There are less than ";
cout<<pos<<" elements...

Want to see the full answer?
Check out a sample textbook solution
Chapter 3 Solutions
Data structures and algorithms in C++
- Given f(t)=a sin(ßt) a = 10 & ß = 23 Find the Laplace Transform using the definition F(s) = ∫f(t)e-stdtarrow_forwardPlease do not use any AI tools to solve this question. I need a fully manual, step-by-step solution with clear explanations, as if it were done by a human tutor. No AI-generated responses, please.arrow_forwardObtain the MUX design for the function F(X,Y,Z) = (0,3,4,7) using an off-the-shelf MUX with an active low strobe input (E).arrow_forward
- I cannot program smart home automation rules from my device using a computer or phone, and I would like to know how to properly connect devices such as switches and sensors together ? Cisco Packet Tracer 1. Smart Home Automation:o Connect a temperature sensor and a fan to a home gateway.o Configure the home gateway so that the fan is activated when the temperature exceedsa set threshold (e.g., 30°C).2. WiFi Network Configuration:o Set up a wireless LAN with a unique SSID.o Enable WPA2 encryption to secure the WiFi network.o Implement MAC address filtering to allow only specific clients to connect.3. WLC Configuration:o Deploy at least two wireless access points connected to a Wireless LAN Controller(WLC).o Configure the WLC to manage the APs, broadcast the configured SSID, and applyconsistent security settings across all APs.arrow_forwardusing r language for integration theta = integral 0 to infinity (x^4)*e^(-x^2)/2 dx (1) use the density function of standard normal distribution N(0,1) f(x) = 1/sqrt(2pi) * e^(-x^2)/2 -infinity <x<infinity as importance function and obtain an estimate theta 1 for theta set m=100 for the estimate whatt is the estimate theta 1? (2)use the density function of gamma (r=5 λ=1/2)distribution f(x)=λ^r/Γ(r) x^(r-1)e^(-λx) x>=0 as importance function and obtain an estimate theta 2 for theta set m=1000 fir the estimate what is the estimate theta2? (3) use simulation (repeat 1000 times) to estimate the variance of the estimates theta1 and theta 2 which one has smaller variance?arrow_forwardusing r language A continuous random variable X has density function f(x)=1/56(3x^2+4x^3+5x^4).0<=x<=2 (1) secify the density g of the random variable Y you find for the acceptance rejection method. (2) what is the value of c you choose to use for the acceptance rejection method (3) use the acceptance rejection method to generate a random sample of size 1000 from the distribution of X .graph the density histogram of the sample and compare it with the density function f(x)arrow_forward
- using r language a continuous random variable X has density function f(x)=1/4x^3e^-(pi/2)^4,x>=0 derive the probability inverse transformation F^(-1)x where F(x) is the cdf of the random variable Xarrow_forwardusing r language in an accelerated failure test, components are operated under extreme conditions so that a substantial number will fail in a rather short time. in such a test involving two types of microships 600 chips manufactured by an existing process were tested and 125 of them failed then 800 chips manufactured by a new process were tested and 130 of them failed what is the 90%confidence interval for the difference between the proportions of failure for chips manufactured by two processes? using r languagearrow_forwardI want a picture of the tools and the pictures used Cisco Packet Tracer Smart Home Automation:o Connect a temperature sensor and a fan to a home gateway.o Configure the home gateway so that the fan is activated when the temperature exceedsa set threshold (e.g., 30°C).2. WiFi Network Configuration:o Set up a wireless LAN with a unique SSID.o Enable WPA2 encryption to secure the WiFi network.o Implement MAC address filtering to allow only specific clients to connect.3. WLC Configuration:o Deploy at least two wireless access points connected to a Wireless LAN Controller(WLC).o Configure the WLC to manage the APs, broadcast the configured SSID, and applyconsistent security settings across all APs.arrow_forward
- A. What will be printed executing the code above?B. What is the simplest way to set a variable of the class Full_Date to January 26 2020?C. Are there any empty constructors in this class Full_Date?a. If there is(are) in which code line(s)?b. If there is not, how would an empty constructor be? (create the code lines for it)D. Can the command std::cout << d1.m << std::endl; be included after line 28 withoutcausing an error?a. If it can, what will be printed?b. If it cannot, how could this command be fixed?arrow_forwardCisco Packet Tracer Smart Home Automation:o Connect a temperature sensor and a fan to a home gateway.o Configure the home gateway so that the fan is activated when the temperature exceedsa set threshold (e.g., 30°C).2. WiFi Network Configuration:o Set up a wireless LAN with a unique SSID.o Enable WPA2 encryption to secure the WiFi network.o Implement MAC address filtering to allow only specific clients to connect.3. WLC Configuration:o Deploy at least two wireless access points connected to a Wireless LAN Controller(WLC).o Configure the WLC to manage the APs, broadcast the configured SSID, and applyconsistent security settings across all APs.arrow_forwardTransform the TM below that accepts words over the alphabet Σ= {a, b} with an even number of a's and b's in order that the output tape head is positioned over the first letter of the input, if the word is accepted, and all letters a should be replaced by the letter x. For example, for the input aabbaa the tape and head at the end should be: [x]xbbxx z/z,R b/b,R F ① a/a,R b/b,R a/a, R a/a,R b/b.R K a/a,R L b/b,Rarrow_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





