30 lines
953 B
Java
30 lines
953 B
Java
package Sorting;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.LinkedList;
|
|
|
|
public class InsertionSorterLinkedList extends Sorter{
|
|
|
|
public InsertionSorterLinkedList(RandomNumberFileReader reader){
|
|
super("insertion sort (linked list)", reader);
|
|
}
|
|
|
|
protected void sort(){
|
|
LinkedList<Integer> numbersll = new LinkedList<Integer>(Arrays.asList(numbers));//make a linked list from numbers array
|
|
for(int i=1;i<numbersll.size();i++){
|
|
int value = numbersll.get(i);
|
|
int j=i-1;
|
|
while(j>=0 && compare(numbersll.get(j),numbersll.get(i))>0){
|
|
j--;
|
|
}
|
|
numbersll.add(j+1, numbersll.remove(i));
|
|
}
|
|
/*
|
|
for(int i=0;i<numbers.length;i++){
|
|
writeToArray(numbers, i, numbersll.removeFirst());//write sorted linked list back into array
|
|
}*/
|
|
numbersll.toArray(numbers);
|
|
writesUsed += numbers.length;
|
|
}
|
|
|
|
} |