Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Consider a singly-linked list of integers and \"your node\" declaration below. A

ID: 3579635 • Letter: C

Question

Consider a singly-linked list of integers and "your node" declaration below. Assume the list is sorted. class DB_Node public; int number; DB_Node "next;}; class DB_List {" public: void Delete_All_Evens();//deletes all even integers from the list void lnsert_Anywhere(int key)://insert key in the correct place in the sorted list private: DB_Node front;//points to the front of the list}: Using the classes define above (DB_Node and DB_List) implement the function Delete_AII_Evens. Using the classes define above on Pg 1 (DB_Node and DB_List) implement the function lnsert_Anywhere. Using the classes define above on Pg 1 (DB_Node and DB_List) implement the function lnsert_Anywhere.

Explanation / Answer

Here is the code for you:

#include <iostream>
class DB_Node
{
public:
int number;
DB_Node *next;
};
class DB_List
{
public:
void Delete_All_Evens();
void Insert_Anywhere(int key);
private:
DB_Node *front;
};
void DB_List::Delete_All_Evens()
{
DB_Node *temp, *prev;
temp = front;
prev = front;
while(temp != NULL)
{
if(temp->number % 2 == 0)   //If the number is even.
{
if(front == temp)
front = temp->next;
else
prev->next = temp->next;
}
prev = temp;
temp = temp->next;
}
}
void DB_List::Insert_Anywhere(int key)
{
DB_Node *newNode = new DB_Node;
newNode->number = key;
if(front == NULL || key <= front->number)
{
newNode->next = front;
front = newNode;
}
else
{
DB_Node *temp = front;
while(temp->next != NULL && temp->next->number < key)
temp = temp->next;
newNode->next = temp->next;
temp->next = newNode;
}
}