1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
storchak [24]
3 years ago
8

The LList class is (mostly) the same one discussed in lecture, but you must write a sort() function that uses one of the three i

nefficient sorts discussed in lecture. The function should sort the list contents from lowest to highest value using bubble sort, selection sort, or insertion sort. Since the original linked list code produced a sorted list, this version has been modified such that (1) insert() adds each new item to the start of the list, not in order and (2) remove() searches the entire list, since it can't assume the list is ordered. Also, display() has been modified to print all list contents on a single line, not one value per line.
The only file you may modify is LList.cpp, which contains space to write the definition for the sort() function, as well as the definitions of standard LList functions covered previously.
The other two files, LList.h and LList_test_main.cpp, are read-only. LList.h contains the LList class definition, while the other file exists solely to test the code you write.
LList.h
#ifndef LLIST_H
#define LLIST_H
#include
using std::ostream;
class LList {
public:
/***** FUNCTION TO BE WRITTEN *****/
void sort(); // Sort linked list using bubble, insertion, or selection sort
/***** FUNCTIONS BELOW THIS LINE ARE ALREADY WRITTEN--DO NOT MODIFY *****/
LList(); // Default constructor
~LList(); // Destructor
bool empty(); // True if list is empty
void insert(int v); // Add new value to list
void remove(int v); // Remove node with v
void display(ostream &out); // Print contents of list
// (could of course write as
// overloaded operator)
private:
/****************************************************************
Slightly different setup than we've seen before, as Node class
is defined *inside* LList class.
Benefits:
By making "Node" a member of LList, LList functions can
directly refer to Node data members val and next. No
need to write/call accessor functions for Node, so
fewer files in solution + no function call overhead on
simple data accesses. Node data members are "public" to
LList functions but "private" to outside world.
Downside:
This implementation of Node can *only* be used inside LList.
If you want Node objects in other classes, have to redefine.
****************************************************************/
class Node {
public:
int val; // Value in each node--could be generalized
// using templates
Node *next; // Pointer to next node
};
Node *first; // Pointer to first node
};
#endif
LList.cpp
#include "LList.h"
using namespace std;
/***** FUNCTION TO BE WRITTEN *****/
void LList::sort() { // Sort linked list using bubble, insertion, or selection sort
/***** ADD YOUR OWN SOLUTION *****/
}
/***** FUNCTIONS BELOW THIS LINE ARE ALREADY WRITTEN--DO NOT MODIFY *****/
// Default constructor
LList::LList() : first(NULL)
{}
// Destructor
LList::~LList() {
Node *temp;
while (first != NULL) {
temp = first;
first = first->next;
delete temp;
}
}
// True if list is empty
bool LList::empty() {
return (first == NULL);
}
// Add new value to list
/***** MODIFIED TO CREATE UNORDERED LIST *****/
void LList::insert(int v) {
// Allocate new node and place at beginning of list
Node* newNode = new Node;
newNode->val = v;
newNode->next = first;
first = newNode;
}
// Remove node with v
void LList::remove(int v) {
Node *prev; // Predecessor of node to be deleted
Node *cur; // Node to be deleted
// Find node, if it's in list
cur = first;
prev = NULL;
while (cur != NULL) { /***** MODIFIED--NO LONGER ASSUMES LIST ORDERED *****/
prev = cur;
cur = cur->next;
}
// Didn't find node
if (cur == NULL || cur->val > v) {
cout << "Node with value " << v << " not found\n";
return;
}
// Otherwise, remove node
if (prev == NULL) // Special case for first node
first = cur->next;
else
prev->next = cur->next;
delete cur;
}
// Display contents of list
void LList::display(ostream &out) {
Node *ptr = first;
while (ptr != NULL) {
out << ptr->val << ' ';
ptr = ptr->next;
}
out << '\n';
}
LList_test_main.cpp
#include "LList.h"
#include
#include
using namespace std;
int main() {
LList L1, L2; // Linked lists to use for testing
unsigned i; // Loop indexes
int seed; // RNG seed
// RNG seed--ensures you'll get same "random" values across
// multiple runs with same seed
cout << "Seed value: ";
cin >> seed;
srand(seed);
// Fill lists
for (i = 0; i < 10; i++) {
L1.insert(rand() % 50);
L2.insert(rand() % 50);
}
// Print lists before sorting
cout << "Before sorting:\nL1: ";
L1.display(cout);
cout << "\nL2: ";
L2.display(cout);
// Sort and print lists again
L1.sort();
L2.sort();
cout << "After sorting:\nL1: ";
L1.display(cout);
cout << "\nL2: ";
L2.display(cout);
return 0;
}
Computers and Technology
1 answer:
Vladimir79 [104]3 years ago
8 0

Answer:

see explaination

Explanation:

#include <iostream>

#include <string>

using namespace std;

class LinkedList{

class Node{

public :

int data;

Node* next;

Node(int data){

this->data = data;

next = NULL;

}

};

public :

Node *head;

LinkedList(){

this->head = NULL;

}

void insert(int d){

Node* new_node = new Node(d);

new_node->next = head;

head = new_node;

}

// sort the list with selection sort algorithm.

// Pick the smallest element in the unsorted array and place in the first element in the unsorted.

void sort_list(){

if (head == NULL){

return;

}

Node* current = head;

while (current->next != NULL){

Node* min_node = current;

Node* traverse = current->next;

while(traverse != NULL){

if(traverse->data < min_node->data){

min_node = traverse;

}

traverse = traverse->next;

}

int temp = current->data;

current->data = min_node->data;

min_node->data = temp;

current = current->next;

}

}

void print_list(){

Node* current = head;

while(current !=NULL){

cout<<current->data<<" ";

current = current->next;

}

cout<<"\n";

}

};

int main(){

LinkedList ll;

for(int i=0;i<10;i++){

ll.insert(i);

}

ll.print_list();

cout<<"*******************************************\n";

ll.sort_list();

ll.print_list();

cout<<"*******************************************\n";

}

You might be interested in
Electric Bill Problem 3.0 (20 Points) What is the total cost of using the following at /kWh? a. 1600 W air conditioner for 6h b.
gulaghasi [49]

Answer:

The total const is 13025 KWh

Explanation:

These are the steps to solve this problem:

  1. Convert all the powers from W to KW dividing by 1000.
  2. Convert all the times on minutes to hours dividing by 60.
  3. Then you can apply energy consumption formula Energy = Power*Time for any of the appliances. the results will be at KWh.
  4. Sum all the consumtions and you will have the total cost.

Attached you will have a spreadsheet as a guidance. Any  questions, just let me know.

Download xlsx
7 0
3 years ago
Bertha was recording a drama club practice. during editing, she noticed that she missed recording the beginning of a shot in the
Ray Of Light [21]

Bertha should use end roll technique so that she doesn't miss the initial action of a drama.

b. end roll

<u>Explanation:</u>

End roll is a simple method to decide whether the film is pushing ahead or not. When you utilize the film advance to wind the film, you essentially need to check if the handle on the left (that you use to rewind the film) is turning.

In the event that it turns, great, it implies that the film is appropriately locked in. So Bertha should utilize the end move strategy with the goal that she doesn't miss the underlying activity of a dramatization.

5 0
3 years ago
Create a class ProblemSolution with following characteristics Two private member variables name &amp; designation of string type
Romashka-Z-Leto [24]

Answer:

Please see the attachment for the solution

Explanation:

Download txt
4 0
3 years ago
For this lab you will do 2 things:
zepelin [54]

Answer:

Here is the Python program:

COOKIES_PER_BAG = 40 #sets constant value for bag of cookies

SERVINGS_PER_BAG = 10 #sets constant value for serving in bag

CALORIES_PER_SERVING = 300 #sets constant value servings per bag

cookies = int(input("How many cookies did you eat? ")) #prompts user to input how many cookies he or she ate

totalCalories = cookies * (CALORIES_PER_SERVING / (COOKIES_PER_BAG / SERVINGS_PER_BAG)); #computes total calories consumed by user

print("Total calories consumed:",totalCalories) #displays the computed value of totalCalories consumed

Explanation:

The algorithm is:

  • Start
  • Declare constants COOKIES_PER_BAG, SERVINGS_PER_BAG and CALORIES_PER_SERVING
  • Set COOKIES_PER_BAG to 40
  • Set SERVINGS_PER_BAG to 10
  • Set CALORIES_PER_SERVING to 300
  • Input cookies
  • Calculate totalCalories:                                                                                                                       totalCalories ← cookies * (CALORIES_PER_SERVING / (COOKIES_PER_BAG / SERVINGS_PER_BAG))
  • Display totalCalories

I will explain the program with an example:

Lets say user enters 5 as cookies he or she ate so

cookies = 5

Now total calories are computed as:

totalCalories = cookies * (CALORIES_PER_SERVING / (COOKIES_PER_BAG / SERVINGS_PER_BAG));  

This becomes:

totalCalories = 5 * (300/40/10)

totalCalories = 5 * (300/4)

totalCalories = 5 * 75

totalCalories = 375

The screenshot of program along with its output is attached.

4 0
3 years ago
Company that offers Internet access to individuals and businesses. This device connects two or more networks and directs the flo
Ganezh [65]

Answer:

ISP is the correct answer to the following question.

Explanation:

ISP(Internet Service Provider) is the company or an organization which provides the internet connection or access to any persons, individuals or any company. It is the device that connects networks and direct flow of the data or information through the network. If you want to connect through ISP then, you have to connect this device to the computer system.

5 0
3 years ago
Other questions:
  • How should a cover letter begin?
    13·2 answers
  • Which are malicious codes? <br><br> JavaScript <br> Key loggers <br> Scrum <br> Spyware <br> Worms
    12·1 answer
  • IF ACCURATE = BRAINLY (if u answer rubbish randomness= reported AND if you got questions dont ask in answer slot= reported)
    13·1 answer
  • Which of the statements below are true about Digital Signatures?
    15·1 answer
  • 6.   If you enter 234.567 into a cell that is formatted to display 1 decimal place, what is the value stored in the cell?
    15·2 answers
  • Which amendment to the Constitution ended slavery in the United States?
    8·1 answer
  • Define the function max2 that takes two integers as arguments and returns the largest of them. Then define the function max_list t
    11·1 answer
  • Q: If a program is invoked with "python program.py -r input.dat output.dat", what are the elements of argv?
    10·1 answer
  • 2. The Internet could best be described as: *
    12·1 answer
  • Graphics created within Illustrator CC are always vector graphics true or false
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!