#include "sortablelist.h"
#include <stdlib.h>
#include <time.h>
#include <iostream>
using namespace std;
int main()
{
void print(int &x);
int i;
Sortable_list<int> the_list1,the_list2,the_list3,the_list4,
the_list5,the_list6,the_list7;
int random1,random2,random3,random4,
random5,random6,random7;
srand((unsigned) time(NULL));
for(i=0;i<15;i++)
{
random1=rand()%50;
the_list1.insert(i,random1);
}
cout<<"1.原顺序表:";
the_list1.traverse(print);
the_list1.bubble_sort();
cout<<endl<<" 冒泡排序:";
the_list1.traverse(print);
cout<<endl<<endl;
for(i=0;i<15;i++)
{
random2=rand()%50;
the_list2.insert(i,random2);
}
cout<<"2.原顺序表:";
the_list2.traverse(print);
the_list2.insertion_sort();
cout<<endl<<" 插入排序:";
the_list2.traverse(print);
cout<<endl<<endl;
for(i=0;i<15;i++)
{
random3=rand()%50;
the_list3.insert(i,random3);
}
cout<<"3.原顺序表:";
the_list3.traverse(print);
the_list3.selection_sort();
cout<<endl<<" 选择排序:";
the_list3.traverse(print);
cout<<endl<<endl;
for(i=0;i<15;i++)
{
random4=rand()%50;
the_list4.insert(i,random4);
}
cout<<"4.原顺序表:";
the_list4.traverse(print);
the_list4.shell_sort();
cout<<endl<<" 希尔排序:";
the_list4.traverse(print);
cout<<endl<<endl;
for(i=0;i<15;i++)
{
random5=rand()%50;
the_list5.insert(i,random5);
}
cout<<"5.原顺序表:";
the_list5.traverse(print);
the_list5.merge_sort();
cout<<endl<<" 归并排序:";
the_list5.traverse(print);
cout<<endl<<endl;
for(i=0;i<15;i++)
{
random6=rand()%50;
the_list6.insert(i,random6);
}
cout<<"6.原顺序表:";
the_list6.traverse(print);
the_list6.quick_sort();
cout<<endl<<" 快速排序:";
the_list6.traverse(print);
cout<<endl<<endl;
for(i=0;i<15;i++)
{
random7=rand()%50;
the_list7.insert(i,random7);
}
cout<<"7.原顺序表:";
the_list7.traverse(print);
the_list7.heap_sort();
cout<<endl<<" 堆排序:";
the_list7.traverse(print);
cout<<endl<<endl;
return 0;
}
void print(int &x)
{
cout<<x<<" ";
}