| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #include <cstdio>
- #include <iostream>
- #include <string>
- #include <fstream>
- #include <sstream>
- #include <ctime>
- #include <vector>
- #include "json.hpp"
- #include "timealgorithms.h"
- int main(int argc, char* argv[]) {
- // read JSON file and store in jsonObject
- std::ifstream file;
- file.open(argv[1]);
- nlohmann::json jsonObject;
- // Store the contents filename into jsonObject
- if (file.is_open()) {
- file >> jsonObject;
- }
- // initialize array for JSON data
- //int n = jsonObject["metadata"]["arraySize"];
- std::vector<int>* sampleArray = new std::vector<int>();
- // initialize insertion sort variables
- int insComparisonCounter;
- int insMemAccessCounter;
- //double insTime;
- // initialize merge sort variables
- //int *merComparisonCounter;
- //int *merMemAccessCounter;
- //double merTime;
- // initialize quick sort variables
- //int *quickComparisonCounter;
- //int *quickMemAccessCounter;
- //double quickTime;
- std::string sampleName; // Sample key name to iterate
- for (auto itr = jsonObject.begin(); itr != jsonObject.end(); ++itr) {
- sampleName = itr.key();
- //int arrayElement = 0;
- if (sampleName != "metadata") {
- for (auto arrayItr = jsonObject[sampleName].begin(); arrayItr != jsonObject[sampleName].end(); ++arrayItr) {
- //sampleArray[arrayElement] = *arrayItr;
- //sampleArray.push_back(*arrayItr);
- sampleArray -> push_back(*arrayItr);
- //arrayElement++;
- }
- }
- }
- for (auto const &element: *sampleArray){
- std::cout << element << ' ' << std::endl;
- }
- InsertionSort(sampleArray, &insComparisonCounter, &insMemAccessCounter);
- //QuickSort(*underlyingSampleArray, *insComparisonCounter, *insMemAccessCounter);
- //MergeSort(*underlyingSampleArray, *insComparisonCounter, *insMemAccessCounter);
- //std::cout << "insertion sort memory access counter: " << insMemAccessCounter <<std::endl;
- //std::cout << "insertion sort comparison counter: " << insComparisonCounter << std::endl;
- // initiate CSV file to which data will be written
- //std::ofstream theFile;
- //theFile.open("timingalgorithms.csv");
- //theFile << "Sample,InsertionSortTime,InsertionSortCompares,InsertionSortMemaccess,MergeSortTime,MergeSortCompares,MergeSortMemaccess,QuickSortTime,QuickSortCompares,QuickSortMemaccess,\n";
- //theFile.close();
- return 0;
- }
|