simplifying iterator use

This commit is contained in:
2020-06-17 16:13:44 -05:00
parent dc162ca35e
commit a48fbbdb88

View File

@@ -12,19 +12,26 @@ public class InsertionSorterLinkedList extends Sorter{
protected void sort(){ protected void sort(){
LinkedList<Integer> numbersLL = new LinkedList<Integer>(Arrays.asList(numbers));//make a linked list from numbers array LinkedList<Integer> numbersLL = new LinkedList<Integer>(Arrays.asList(numbers));//make a linked list from numbers array
int count=0; int index=0;
ListIterator<Integer> iter = numbersLL.listIterator(count); ListIterator<Integer> iter = numbersLL.listIterator(count);
while(count<numbersLL.size()){ while(index<numbersLL.size()&&iter.hasNext()){
int value = iter.next(); int value = iter.next();
iter.remove(); iter.remove();
if(iter.hasPrevious()){ if(iter.hasPrevious()){
int current; int current=value;
do{ do{
current = iter.previous(); current = iter.previous();
}while(current>value); destIndex++;
}while(compare(current,value)>0 && iter.hasPrevious());
if(compare(current,value)<0){
iter.next();
}
} }
iter.add(value); iter.add(value);
count++; while(iter.nextIndex()<=index){
iter.next();
}
index++;
} }
/* /*
for(int i=0;i<numbers.length;i++){ for(int i=0;i<numbers.length;i++){