Answer:
see explaination
Step-by-step 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<<"\\";
}
};
int main(){
LinkedList ll;
for(int i=0;i<10;i++){
ll.insert(i);
}
ll.print_list();
cout<<"*******************************************\\";
ll.sort_list();
ll.print_list();
cout<<"*******************************************\\";
}