-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSortingTest.cpp
More file actions
116 lines (112 loc) · 3.89 KB
/
SortingTest.cpp
File metadata and controls
116 lines (112 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include "Sorting.h"
int main() {
aType testA[MAX_ARRAY];
int s = 0; //Variable for swap count
int c = 0; //variable for comparison count
fstream fIn;
string filename;
cout << "Beginning sorting test for dataset of size " << MAX_ARRAY << endl;
if (MAX_ARRAY == 100)
filename = "rand100.txt";
else if (MAX_ARRAY == 1000)
filename = "rand1000.txt";
else if (MAX_ARRAY == 10000)
filename = "rand10000.txt";
else {
cout << "Enter the Dataset filename: " << endl;
getline(cin, filename);
}
cout << "Using file: " << filename << endl;
fIn.open(filename);
int i = 0;
if (!fIn) {
cout << "Invalid filename" << endl;
exit(1);
}
while (!fIn.eof()) {
fIn >> testA[i];
i++;
}
fIn.close();
cout << "=========================================================" << endl << endl;
//PrintArray(testA, MAX_ARRAY); //For testing
SelectionSort(testA, MAX_ARRAY, c, s);
cout << "Selection Sort on random array of size " << MAX_ARRAY << endl;
cout << "No. of Comparisions: " << c << endl;
cout << "No. of Swaps: " << s << endl << endl;
s = c = 0;
SelectionSort(testA, MAX_ARRAY, c, s);
cout << "Selection Sort on increasing sorted array of size " << MAX_ARRAY << endl;
cout << "No. of Comparisions: " << c << endl;
cout << "No. of Swaps: " << s << endl << endl;
//Reverse the array for decreasing sorted data
for (int j = 0; j < MAX_ARRAY / 2; j++) {
Swap(testA[j], testA[MAX_ARRAY - 1 - j], s);
}
//PrintArray(testA, MAX_ARRAY); //For testing
s = c = 0;
SelectionSort(testA, MAX_ARRAY, c, s);
cout << "Selection Sort on decreasing sorted array of size " << MAX_ARRAY << endl;
cout << "No. of Comparisions: " << c << endl;
cout << "No. of Swaps: " << s << endl << endl;
cout << "=========================================================" << endl << endl;
c = s = 0;
//Reopen File
fIn.open(filename);
i = 0;
while (!fIn.eof()) {
fIn >> testA[i];
i++;
}
fIn.close();
//Begin Quicksort
Quicksort(testA, 0, MAX_ARRAY - 1, c, s);
cout << "Quick Sort on random array of size " << MAX_ARRAY << endl;
cout << "No. of Comparisions: " << c << endl;
cout << "No. of Swaps: " << s << endl << endl;
s = c = 0;
Quicksort(testA, 0, MAX_ARRAY - 1, c, s);
cout << "Quick Sort on increasing sorted array of size " << MAX_ARRAY << endl;
cout << "No. of Comparisions: " << c << endl;
cout << "No. of Swaps: " << s << endl << endl;
//Reverse the array for decreasing sorted data
for (int j = 0; j < MAX_ARRAY / 2; j++) {
Swap(testA[j], testA[MAX_ARRAY - 1 - j], s);
}
//PrintArray(testA, MAX_ARRAY); //For testing
s = c = 0;
Quicksort(testA, 0, MAX_ARRAY - 1, c, s);
cout << "Quick Sort on decreasing sorted array of size " << MAX_ARRAY << endl;
cout << "No. of Comparisions: " << c << endl;
cout << "No. of Swaps: " << s << endl << endl;
cout << "=========================================================" << endl << endl;
s = c = 0;
//Reopen File
fIn.open(filename);
i = 0;
while (!fIn.eof()) {
fIn >> testA[i];
i++;
}
fIn.close();
//Begin mergesort
Mergesort(testA, 0, MAX_ARRAY - 1, c, s);
cout << "Merge Sort on random array of size " << MAX_ARRAY << endl;
cout << "No. of Comparisions: " << c << endl;
cout << "No. of Swaps: " << s << endl << endl;
s = c = 0;
Mergesort(testA, 0, MAX_ARRAY - 1, c, s);
cout << "Merge Sort on increasing sorted array of size " << MAX_ARRAY << endl;
cout << "No. of Comparisions: " << c << endl;
cout << "No. of Swaps: " << s << endl << endl;
//Reverse the array for decreasing sorted data
for (int j = 0; j < MAX_ARRAY / 2; j++) {
Swap(testA[j], testA[MAX_ARRAY - 1 - j], s);
}
//PrintArray(testA, MAX_ARRAY); //For testing
s = c = 0;
Mergesort(testA, 0, MAX_ARRAY - 1, c, s);
cout << "Merge Sort on decreasing sorted array of size " << MAX_ARRAY << endl;
cout << "No. of Comparisions: " << c << endl;
cout << "No. of Swaps: " << s << endl << endl;
}