rendered paste body#include "Sortable_list.h"
#include "timer.h"
void main()
{
Sortable_list<int> an_list1, an_list2;
int temp[max_list], temp2[max_list];
cout<<" Analysis of Sorting Algorithm"<<endl;
cout<<" Lab7a Lab7b"<<endl;
ifstream in_s; // input stream
in_s.open("Lab7a.txt");
if (in_s.fail())
{
exit(1);
}
for(int i=0 ; i<max_list ; i++) // get data from the file
{
in_s>>temp[i];
}
in_s.clear();
in_s.close();
in_s.open("Lab7b.txt");
if (in_s.fail())
{
exit(1);
}
for(int i=0 ; i<max_list ; i++) // get data from the file
{
in_s>>temp2[i];
}
in_s.clear();
in_s.close();
// ******** Insertion Sort ********
for(int i=0 ; i<max_list ; i++) // get data from the file
{
an_list1.insert(i, temp[i]);
}
Timer clock; // Compute the wall clock time
an_list1.insertion_sort();
cout<<"Insertion Sort "<< clock.elapsed_time()<<" ";
for(int i=0 ; i<max_list ; i++) // get data from the file
{
an_list2.insert(i, temp2[i]);
}
clock.reset();
an_list2.insertion_sort();
cout<< clock.elapsed_time()<<endl;
// ******** Selection Sort ********
for(int i=0 ; i<max_list ; i++) // get data from the file
{
an_list1.insert(i, temp[i]);
}
clock.reset();
an_list1.selection_sort();
cout<<"Selection Sort "<< clock.elapsed_time()<<" ";
for(int i=0 ; i<max_list ; i++) // get data from the file
{
an_list2.insert(i, temp2[i]);
}
clock.reset();
an_list2.selection_sort();
cout<< clock.elapsed_time()<<endl;
// ******** Shell Sort ********
// In this sorting case, the time result is different
// between when this runs with the other sorting algorithms here
// and when it runs seperately. I used the result which I run seperately for analysis.
for(int i=0 ; i<max_list ; i++)
{
an_list1.insert(i, temp[i]);
}
clock.reset();
an_list1.shell_sort();
cout<<"Shell Sort "<< clock.elapsed_time()<<" ";
for(int i=0 ; i<max_list ; i++)
{
an_list2.insert(i, temp2[i]);
}
clock.reset();
an_list2.shell_sort();
cout<< clock.elapsed_time()<<endl;
// ******** Heap Sort ********
for(int i=0 ; i<max_list ; i++)
{
an_list1.insert(i, temp[i]);
}
clock.reset();
an_list1.heap_sort();
cout<<"Heap Sort "<< clock.elapsed_time()<<" ";
for(int i=0 ; i<max_list ; i++)
{
an_list2.insert(i, temp2[i]);
}
clock.reset();
an_list2.heap_sort();
cout<< clock.elapsed_time()<<endl;
// ******** Quick Sort ********
for(int i=0 ; i<max_list ; i++)
{
an_list1.insert(i, temp[i]);
}
clock.reset();
an_list1.quick_sort();
cout<<"Quick sort "<< clock.elapsed_time()<<" ";;
for(int i=0 ; i<max_list ; i++)
{
an_list2.insert(i, temp2[i]);
}
clock.reset();
an_list2.quick_sort();
cout<< clock.elapsed_time()<<endl;
// ******** Comb Sort ********
for(int i=0 ; i<max_list ; i++)
{
an_list1.insert(i, temp[i]);
}
clock.reset();
an_list1.comb_sort();
cout<<"Comb sort "<< clock.elapsed_time()<<" ";
for(int i=0 ; i<max_list ; i++)
{
an_list2.insert(i, temp2[i]);
}
clock.reset();
an_list2.comb_sort();
cout<< clock.elapsed_time()<<endl;
}