Setup output to file and sort methods (not implemented)

This commit is contained in:
2023-01-16 16:11:40 -06:00
parent 7e8873fd1a
commit d48e023234
11 changed files with 45080 additions and 11 deletions
Binary file not shown.
+2 -3
View File
@@ -2,8 +2,7 @@
int main(int argc, char** argv)
{
Sorter newSort;
newSort.SetFileName(argv[1]);
newSort.SetWordList();
Sorter newSort(argv[1]);
newSort.RunSorts();
return 0;
}
+65 -4
View File
@@ -4,12 +4,20 @@
#include <string>
#include <vector>
void Sorter::SetFileName(std::string newName)
Sorter::Sorter(std::string newFilename)
{
lineCount = 0;
currentType = INSERTION;
SetFilename(newFilename);
SetWordList();
}
void Sorter::SetFilename(std::string newName)
{
this->filename = newName;
}
std::string Sorter::GetFileName(void)
std::string Sorter::GetFilename(void)
{
return this->filename;
}
@@ -24,10 +32,63 @@ void Sorter::SetWordList(void)
exit(1);
}
while (getline(file, bufferStr))
wordList.push_back(bufferStr);
{
originalWordList.push_back(bufferStr);
lineCount++;
}
return;
}
void Sorter::RunSorts(void)
{
newWordList = originalWordList;
InsertionSort();
OutputResult();
currentType = MERGE;
newWordList = originalWordList;
MergeSort();
OutputResult();
currentType = HEAP;
newWordList = originalWordList;
HeapSort();
OutputResult();
}
void Sorter::OutputResult(void)
{
switch(currentType)
{
case INSERTION:
PrintToFile("IS");
break;
case MERGE:
PrintToFile("MS");
break;
case HEAP:
PrintToFile("HS");
break;
default:
break;
}
}
void Sorter::PrintToFile(std::string outputFilename)
{
std::string outputPath = "test/OUTPUT/";
outputPath += outputFilename;
outputPath += std::to_string(lineCount % 1000);
outputPath += "K.txt";
std::ofstream file(outputPath);
if (!file.is_open())
{
std::cout << "Failed opening file\n";
exit(1);
}
for (unsigned int i = 0; i < lineCount; i++)
file << newWordList[i] << '\n';
file.close();
}
void Sorter::InsertionSort(void)
{
;
@@ -41,4 +102,4 @@ void Sorter::MergeSort(void)
void Sorter::HeapSort(void)
{
;
}
}