From 2b2097c7d2f980c7708644371bafd401ac582747 Mon Sep 17 00:00:00 2001 From: Eugene Fischer Date: Wed, 17 Jun 2020 14:33:42 -0500 Subject: [PATCH] trying iterators --- Sorting/InsertionSorterLinkedList.java | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/Sorting/InsertionSorterLinkedList.java b/Sorting/InsertionSorterLinkedList.java index 9449c15..bf04fd4 100644 --- a/Sorting/InsertionSorterLinkedList.java +++ b/Sorting/InsertionSorterLinkedList.java @@ -2,6 +2,7 @@ package Sorting; import java.util.Arrays; import java.util.LinkedList; +import java.util.ListIterator; public class InsertionSorterLinkedList extends Sorter{ @@ -10,20 +11,27 @@ public class InsertionSorterLinkedList extends Sorter{ } protected void sort(){ - LinkedList numbersll = new LinkedList(Arrays.asList(numbers));//make a linked list from numbers array - for(int i=1;i=0 && compare(numbersll.get(j),value)>0){ - j--; - } - numbersll.add(j+1, numbersll.remove(i)); + LinkedList numbersLL = new LinkedList(Arrays.asList(numbers));//make a linked list from numbers array + + int countOuter=0; + while(countOuter outerIterator = numbersLL.listIterator(countOuter); + int value = numbersLL.get(countOuter); + ListIterator innerIterator = numbersLL.listIterator(); + int current, countInner; + countInner = 0; + do{ + current = innerIterator.next(); + countInner++; + }while(countInner<=countOuter && compare(value, current)>0); + numbersLL.add(innerIterator.previousIndex(), numbersLL.remove(countOuter)); + countOuter++; } /* for(int i=0;i