feat: add sorted linear finder

This commit is contained in:
Michael Mandl 2024-03-20 20:50:43 +01:00
parent 291d8d198e
commit 26d3839832
Signed by: mandlm
GPG key ID: 4AA25D647AA54CC7
5 changed files with 80 additions and 6 deletions

View file

@ -5,6 +5,7 @@
#include "grouped_finder.h"
#include "linear_finder.h"
#include "parallel_finder.h"
#include "sorted_linear_finder.h"
#include "timer.h"
#include "tree_finder.h"
#include "word_list_generator.h"
@ -26,6 +27,7 @@ MainWindow::~MainWindow() { delete ui; }
void MainWindow::setupAlgorithmSelector() {
search_algorithms_.appendRow(new QStandardItem("Linear search"));
search_algorithms_.appendRow(new QStandardItem("Sorted linear search"));
search_algorithms_.appendRow(new QStandardItem("Parallel search"));
search_algorithms_.appendRow(new QStandardItem("Tree search"));
search_algorithms_.appendRow(new QStandardItem("Grouped search"));
@ -69,12 +71,15 @@ void MainWindow::createSelectedFinder() {
finder_ = std::make_unique<LinearFinder>(word_list_);
break;
case 1:
finder_ = std::make_unique<ParallelFinder>(word_list_);
finder_ = std::make_unique<SortedLinearFinder>(word_list_);
break;
case 2:
finder_ = std::make_unique<TreeFinder>(word_list_);
finder_ = std::make_unique<ParallelFinder>(word_list_);
break;
case 3:
finder_ = std::make_unique<TreeFinder>(word_list_);
break;
case 4:
finder_ = std::make_unique<GroupedFinder>(word_list_);
break;
}