#ifndef SORTS_H #define SORTS_H #include #include #include enum SortType {INSERTION = 0, MERGE, HEAP}; class Sorter { private: std::string filename; int lineCount; std::vector originalWordList; std::chrono::duration sortTime; public: Sorter(); std::vector newWordList; bool defaultFile, defaultOnly, fileGiven, allLists, sortGiven; SortType currentType; std::string GetFilename(void); void SetFilename(std::string newName); void SetWordList(void); void SortAll(void); void RunSorts(void); void __RunSorts__(void); void OutputResult(void); void PrintSortTime(std::string outputFilename); void PrintToFile(std::string outputFilename); void InsertionSort(void); void MergeSort(void); void __MergeSort__(int p, int r); void __Merge__(int p, int q, int r); void HeapSort(void); }; void CheckArguments(int argc, char* arguments[], Sorter* sortObj); #endif