file now only read once

This commit is contained in:
2020-06-11 12:00:27 -05:00
parent 7f59fadc42
commit ba8820896e
9 changed files with 26 additions and 26 deletions

View File

@@ -138,33 +138,33 @@ public class AlgorithmTester{
boolean quickTWP=sortingAlgoChoices[5]; boolean quickTWP=sortingAlgoChoices[5];
boolean merge=sortingAlgoChoices[6]; boolean merge=sortingAlgoChoices[6];
ArrayList<SortResult> results = new ArrayList<SortResult>(); ArrayList<SortResult> results = new ArrayList<SortResult>();
RandomNumberFileReader reader = new RandomNumberFileReader(filename);
if(bubble){ if(bubble){
BubbleSorter bubSorter = new BubbleSorter(filename); BubbleSorter bubSorter = new BubbleSorter(reader);
results.add(bubSorter.measuredSort()); results.add(bubSorter.measuredSort());
} }
if(selection){ if(selection){
SelectionSorter selSorter = new SelectionSorter(filename); SelectionSorter selSorter = new SelectionSorter(reader);
results.add(selSorter.measuredSort()); results.add(selSorter.measuredSort());
} }
if(insertion){ if(insertion){
InsertionSorter inSorter = new InsertionSorter(filename); InsertionSorter inSorter = new InsertionSorter(reader);
results.add(inSorter.measuredSort()); results.add(inSorter.measuredSort());
} }
if(counting){ if(counting){
CountingSorter countSorter = new CountingSorter(filename); CountingSorter countSorter = new CountingSorter(reader);
results.add(countSorter.measuredSort()); results.add(countSorter.measuredSort());
} }
if(quick){ if(quick){
QuickSorter qSorter = new QuickSorter(filename); QuickSorter qSorter = new QuickSorter(reader);
results.add(qSorter.measuredSort()); results.add(qSorter.measuredSort());
} }
if(quickTWP){ if(quickTWP){
QuickSorterThreeWay qTWPSorter = new QuickSorterThreeWay(filename); QuickSorterThreeWay qTWPSorter = new QuickSorterThreeWay(reader);
results.add(qTWPSorter.measuredSort()); results.add(qTWPSorter.measuredSort());
} }
if(merge){ if(merge){
MergeSorter mSorter = new MergeSorter(filename); MergeSorter mSorter = new MergeSorter(reader);
results.add(mSorter.measuredSort()); results.add(mSorter.measuredSort());
} }
for(SortResult e: results){ for(SortResult e: results){

View File

@@ -3,8 +3,8 @@ package Sorting;
public class BubbleSorter extends Sorter{ public class BubbleSorter extends Sorter{
//a class to sort arrays of numbers using bubble sort //a class to sort arrays of numbers using bubble sort
public BubbleSorter(String filename){ public BubbleSorter(RandomNumberFileReader reader){
super("bubble sort", filename); super("bubble sort", reader);
} }
void sort(){ void sort(){

View File

@@ -4,8 +4,8 @@ import java.util.Arrays;
public class CountingSorter extends Sorter{ public class CountingSorter extends Sorter{
public CountingSorter(String filename){ public CountingSorter(RandomNumberFileReader reader){
super("counting sort", filename); super("counting sort", reader);
} }
void sort(){ void sort(){

View File

@@ -5,8 +5,8 @@ package Sorting;
public class InsertionSorter extends Sorter{ public class InsertionSorter extends Sorter{
public InsertionSorter(String filename){ public InsertionSorter(RandomNumberFileReader reader){
super("insertion sort", filename); super("insertion sort", reader);
} }
void sort(){ void sort(){

View File

@@ -2,8 +2,8 @@ package Sorting;
public class MergeSorter extends Sorter{ public class MergeSorter extends Sorter{
public MergeSorter(String filename){ public MergeSorter(RandomNumberFileReader reader){
super("merge sort",filename); super("merge sort",reader);
} }
void sort(){ void sort(){

View File

@@ -2,12 +2,12 @@ package Sorting;
public class QuickSorter extends Sorter{ public class QuickSorter extends Sorter{
public QuickSorter(String filename){ public QuickSorter(RandomNumberFileReader reader){
super("quick sort", filename); super("quick sort", reader);
} }
public QuickSorter(String qsortVariant, String filename){ public QuickSorter(String qsortVariant, RandomNumberFileReader reader){
super(qsortVariant, filename); super(qsortVariant, reader);
} }
void sort(){ void sort(){

View File

@@ -6,8 +6,8 @@ package Sorting;
public class QuickSorterThreeWay extends QuickSorter{ public class QuickSorterThreeWay extends QuickSorter{
public QuickSorterThreeWay(String filename){ public QuickSorterThreeWay(RandomNumberFileReader reader){
super("quick sort (3-way partition)", filename); super("quick sort (3-way partition)", reader);
} }
/* /*
void sort(){ void sort(){

View File

@@ -2,8 +2,8 @@ package Sorting;
public class SelectionSorter extends Sorter { public class SelectionSorter extends Sorter {
//a class to sort an array of numbers using selection sort //a class to sort an array of numbers using selection sort
public SelectionSorter(String filename){ public SelectionSorter(RandomNumberFileReader reader){
super("selection sort", filename); super("selection sort", reader);
} }
void sort(){ void sort(){

View File

@@ -15,9 +15,9 @@ abstract class Sorter {
protected long comparisonsUsed = 0; protected long comparisonsUsed = 0;
protected long writesUsed=0; protected long writesUsed=0;
public Sorter(String st, String filename){ public Sorter(String st, RandomNumberFileReader reader){
sortType=st; sortType=st;
RandomNumberFileReader reader = new RandomNumberFileReader(filename); //RandomNumberFileReader reader = new RandomNumberFileReader(filename);
numbers = new Integer[reader.getNumbers().size()]; numbers = new Integer[reader.getNumbers().size()];
reader.getNumbers().toArray(numbers); reader.getNumbers().toArray(numbers);
} }