file now only read once
This commit is contained in:
@@ -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){
|
||||||
|
|||||||
@@ -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(){
|
||||||
|
|||||||
@@ -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(){
|
||||||
|
|||||||
@@ -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(){
|
||||||
|
|||||||
@@ -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(){
|
||||||
|
|||||||
@@ -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(){
|
||||||
|
|||||||
@@ -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(){
|
||||||
|
|||||||
@@ -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(){
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user