file now only read once
This commit is contained in:
@@ -138,33 +138,33 @@ public class AlgorithmTester{
|
||||
boolean quickTWP=sortingAlgoChoices[5];
|
||||
boolean merge=sortingAlgoChoices[6];
|
||||
ArrayList<SortResult> results = new ArrayList<SortResult>();
|
||||
|
||||
RandomNumberFileReader reader = new RandomNumberFileReader(filename);
|
||||
if(bubble){
|
||||
BubbleSorter bubSorter = new BubbleSorter(filename);
|
||||
BubbleSorter bubSorter = new BubbleSorter(reader);
|
||||
results.add(bubSorter.measuredSort());
|
||||
}
|
||||
if(selection){
|
||||
SelectionSorter selSorter = new SelectionSorter(filename);
|
||||
SelectionSorter selSorter = new SelectionSorter(reader);
|
||||
results.add(selSorter.measuredSort());
|
||||
}
|
||||
if(insertion){
|
||||
InsertionSorter inSorter = new InsertionSorter(filename);
|
||||
InsertionSorter inSorter = new InsertionSorter(reader);
|
||||
results.add(inSorter.measuredSort());
|
||||
}
|
||||
if(counting){
|
||||
CountingSorter countSorter = new CountingSorter(filename);
|
||||
CountingSorter countSorter = new CountingSorter(reader);
|
||||
results.add(countSorter.measuredSort());
|
||||
}
|
||||
if(quick){
|
||||
QuickSorter qSorter = new QuickSorter(filename);
|
||||
QuickSorter qSorter = new QuickSorter(reader);
|
||||
results.add(qSorter.measuredSort());
|
||||
}
|
||||
if(quickTWP){
|
||||
QuickSorterThreeWay qTWPSorter = new QuickSorterThreeWay(filename);
|
||||
QuickSorterThreeWay qTWPSorter = new QuickSorterThreeWay(reader);
|
||||
results.add(qTWPSorter.measuredSort());
|
||||
}
|
||||
if(merge){
|
||||
MergeSorter mSorter = new MergeSorter(filename);
|
||||
MergeSorter mSorter = new MergeSorter(reader);
|
||||
results.add(mSorter.measuredSort());
|
||||
}
|
||||
for(SortResult e: results){
|
||||
|
||||
@@ -3,8 +3,8 @@ package Sorting;
|
||||
public class BubbleSorter extends Sorter{
|
||||
//a class to sort arrays of numbers using bubble sort
|
||||
|
||||
public BubbleSorter(String filename){
|
||||
super("bubble sort", filename);
|
||||
public BubbleSorter(RandomNumberFileReader reader){
|
||||
super("bubble sort", reader);
|
||||
}
|
||||
|
||||
void sort(){
|
||||
|
||||
@@ -4,8 +4,8 @@ import java.util.Arrays;
|
||||
|
||||
public class CountingSorter extends Sorter{
|
||||
|
||||
public CountingSorter(String filename){
|
||||
super("counting sort", filename);
|
||||
public CountingSorter(RandomNumberFileReader reader){
|
||||
super("counting sort", reader);
|
||||
}
|
||||
|
||||
void sort(){
|
||||
|
||||
@@ -5,8 +5,8 @@ package Sorting;
|
||||
|
||||
public class InsertionSorter extends Sorter{
|
||||
|
||||
public InsertionSorter(String filename){
|
||||
super("insertion sort", filename);
|
||||
public InsertionSorter(RandomNumberFileReader reader){
|
||||
super("insertion sort", reader);
|
||||
}
|
||||
|
||||
void sort(){
|
||||
|
||||
@@ -2,8 +2,8 @@ package Sorting;
|
||||
|
||||
public class MergeSorter extends Sorter{
|
||||
|
||||
public MergeSorter(String filename){
|
||||
super("merge sort",filename);
|
||||
public MergeSorter(RandomNumberFileReader reader){
|
||||
super("merge sort",reader);
|
||||
}
|
||||
|
||||
void sort(){
|
||||
|
||||
@@ -2,12 +2,12 @@ package Sorting;
|
||||
|
||||
public class QuickSorter extends Sorter{
|
||||
|
||||
public QuickSorter(String filename){
|
||||
super("quick sort", filename);
|
||||
public QuickSorter(RandomNumberFileReader reader){
|
||||
super("quick sort", reader);
|
||||
}
|
||||
|
||||
public QuickSorter(String qsortVariant, String filename){
|
||||
super(qsortVariant, filename);
|
||||
public QuickSorter(String qsortVariant, RandomNumberFileReader reader){
|
||||
super(qsortVariant, reader);
|
||||
}
|
||||
|
||||
void sort(){
|
||||
|
||||
@@ -6,8 +6,8 @@ package Sorting;
|
||||
|
||||
public class QuickSorterThreeWay extends QuickSorter{
|
||||
|
||||
public QuickSorterThreeWay(String filename){
|
||||
super("quick sort (3-way partition)", filename);
|
||||
public QuickSorterThreeWay(RandomNumberFileReader reader){
|
||||
super("quick sort (3-way partition)", reader);
|
||||
}
|
||||
/*
|
||||
void sort(){
|
||||
|
||||
@@ -2,8 +2,8 @@ package Sorting;
|
||||
|
||||
public class SelectionSorter extends Sorter {
|
||||
//a class to sort an array of numbers using selection sort
|
||||
public SelectionSorter(String filename){
|
||||
super("selection sort", filename);
|
||||
public SelectionSorter(RandomNumberFileReader reader){
|
||||
super("selection sort", reader);
|
||||
}
|
||||
|
||||
void sort(){
|
||||
|
||||
@@ -15,9 +15,9 @@ abstract class Sorter {
|
||||
protected long comparisonsUsed = 0;
|
||||
protected long writesUsed=0;
|
||||
|
||||
public Sorter(String st, String filename){
|
||||
public Sorter(String st, RandomNumberFileReader reader){
|
||||
sortType=st;
|
||||
RandomNumberFileReader reader = new RandomNumberFileReader(filename);
|
||||
//RandomNumberFileReader reader = new RandomNumberFileReader(filename);
|
||||
numbers = new Integer[reader.getNumbers().size()];
|
||||
reader.getNumbers().toArray(numbers);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user