Code:
#define INFILE1 "NumFile100K.txt"
#define INFILE2 "NumFile25K.txt"
#define INFILE3 "NumFile500.txt"
#define INFILE4 "NumFile5K.txt"
#define ARRAY_SIZE1 100000
#define ARRAY_SIZE2 25000
#define ARRAY_SIZE3 500
#define ARRAY_SIZE4 5000
int* read(int , string, int* );
void BubbleSort(int*, int);
void SelectionSort(int*,int);
void InsertionSort(int*,int);
int main()
{
clock_t beginTime = 0;
clock_t endTime = 0;
clock_t elapsedTime = 0;
long secondsElapsed = 0;
long milsElapsed = 0;
// wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
cout<<" Populating Arrays... <500 elements> "<<endl;
cout<<" Sorting "<<endl;
int list500[500];
read(ARRAY_SIZE3,INFILE3 ,list500);
beginTime = clock();
BubbleSort(list500, ARRAY_SIZE3);
endTime = clock();
cout << " SUMMARY RESULTS" << endl;
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <BubbleSort> " <<setw(6)<< ": " << elapsedTime<<" milliseconds"<<endl;
read(ARRAY_SIZE3,INFILE3 ,list500);
beginTime = clock();
SelectionSort(list500, ARRAY_SIZE3);
endTime = clock();
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <Selection Sort >: " << elapsedTime<<" milliseconds"<<endl;
read(ARRAY_SIZE3,INFILE3 ,list500);
beginTime = clock();
InsertionSort(list500, ARRAY_SIZE3);
endTime = clock();
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <Insertion Sort >: " << elapsedTime<<" milliseconds"<<endl;
//wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
cout<<endl<<endl<<" Populating Arrays... <5000 elements> "<<endl;
cout<<" Sorting "<<endl;
int list5000[5000];
read(ARRAY_SIZE4,INFILE4 ,list5000);
beginTime = clock();
BubbleSort(list5000, ARRAY_SIZE4);
endTime = clock();
cout << " SUMMARY RESULTS" << endl;
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <BubbleSort> " <<setw(6)<< ": " << elapsedTime<<" milliseconds"<<endl;
read(ARRAY_SIZE4,INFILE4 ,list5000);
beginTime = clock();
SelectionSort(list5000, ARRAY_SIZE4);
endTime = clock();
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <Selection Sort >: " << elapsedTime<<" milliseconds"<<endl;
read(ARRAY_SIZE4,INFILE4 ,list5000);
beginTime = clock();
InsertionSort(list5000, ARRAY_SIZE4);
endTime = clock();
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <Insertion Sort >: " << elapsedTime<<" milliseconds"<<endl;
//wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
cout<<endl<<endl<<" Populating Arrays... <25000 elements> "<<endl;
cout<<" Sorting "<<endl;
int list25000[25000];
read(ARRAY_SIZE2,INFILE2 ,list25000);
beginTime = clock();
BubbleSort(list25000, ARRAY_SIZE2);
endTime = clock();
cout << " SUMMARY RESULTS" << endl;
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <BubbleSort> " <<setw(6)<< ": " << elapsedTime<<" milliseconds"<<endl;
read(ARRAY_SIZE2,INFILE2 ,list25000);
beginTime = clock();
SelectionSort(list25000, ARRAY_SIZE2);
endTime = clock();
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <Selection Sort >: " << elapsedTime<<" milliseconds"<<endl;
read(ARRAY_SIZE2,INFILE2 ,list25000);
beginTime = clock();
InsertionSort(list25000, ARRAY_SIZE2);
endTime = clock();
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <Insertion Sort >: " << elapsedTime<<" milliseconds"<<endl;
//wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
cout<<endl<<endl<<" Populating Arrays... <100000 elements> "<<endl;
cout<<" Sorting "<<endl;
int list100000[100000];
read(ARRAY_SIZE1,INFILE1 ,list100000);
beginTime = clock();
BubbleSort(list100000, ARRAY_SIZE1);
endTime = clock();
cout << " SUMMARY RESULTS" << endl;
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <BubbleSort> " <<setw(6)<< ": " << elapsedTime<<" milliseconds"<<endl;
read(ARRAY_SIZE1,INFILE1 ,list100000);
beginTime = clock();
SelectionSort(list100000, ARRAY_SIZE1);
endTime = clock();
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <Selection Sort >: " << elapsedTime<<" milliseconds"<<endl;
read(ARRAY_SIZE1,INFILE1 ,list100000);
beginTime = clock();
InsertionSort(list100000, ARRAY_SIZE1);
endTime = clock();
elapsedTime = endTime - beginTime;
cout << " Elapsed Time <Insertion Sort >: " << elapsedTime<<" milliseconds"<<endl;
return 0;
}
int* read(int size , string file, int*storageArray)
{
int i = 0;
for(i = 0; i < size; i++)
storageArray[i] = 0;
// open the file
ifstream inputHandle(file, ios::in);
// check if the file opened
if(inputHandle.is_open() == true) {
// if the file opened, read integers until EOF (end of file) is encountered
i = 0;
while( !inputHandle.eof() ) {
if(i < size) {
inputHandle >> storageArray[i];
i++;
}
else {
cout << "ERROR: There are too many items in the file. (ARRAY_SIZE = " << size << ")" << endl;
break;
}
}
inputHandle.close();
}
return storageArray;
}