#include #include #include #include #include #include #include #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* sampleArray = new std::vector(); // 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 <