rename to distinguish btw number and word sorters
This commit is contained in:
43
Sorting/NumberInsertionSorterLinkedList.java
Normal file
43
Sorting/NumberInsertionSorterLinkedList.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package Sorting;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
import java.util.ListIterator;
|
||||
|
||||
public class NumberInsertionSorterLinkedList extends NumberSorter{
|
||||
|
||||
public NumberInsertionSorterLinkedList(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
|
||||
int index=0;
|
||||
ListIterator<Integer> iter = numbersLL.listIterator();
|
||||
while(index<numbersLL.size()&&iter.hasNext()){
|
||||
int value = iter.next();
|
||||
iter.remove();
|
||||
if(iter.hasPrevious()){
|
||||
int current=value;
|
||||
do{
|
||||
current = iter.previous();
|
||||
}while(compare(current,value)>0 && iter.hasPrevious());
|
||||
if(compare(current,value)<0){
|
||||
iter.next();
|
||||
}
|
||||
}
|
||||
iter.add(value);
|
||||
while(iter.nextIndex()<=index){
|
||||
iter.next();
|
||||
}
|
||||
index++;
|
||||
}
|
||||
/*
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user