Этот сортировка вставки относится к двойному списку. Кажется, ничего не печатают. Извините, если это грязно. Я довольно новичок в публикации вещей. Я отлаживал его, добавляя sysout. Я считаю, что есть проблема с заменой, которую я использовал sysout & Я заметил, что именно здесь возникла проблема. Любая помощь будет принята с благодарностью. Я также проверил класс приложения, который кажется прекрасным.Swap In Insertion Sort Не работает в двукратном списке ссылок
public boolean insertionSort()
{
if (getFirst().next != null)
{
return false;
}
Link current = getFirst().next;
Link current2 = current;
while(current != null){
current2 = current;
while(current2.prev != null){
int tempID = Integer.valueOf(current2.Data.getID());
int temp2ID = Integer.valueOf(current2.prev.Data.getID());
if(tempID < temp2ID)
{
swap(current2, current.prev);
}
current2 = current2.prev;
}
current = current.next;
}
return true;
}
public void swap(Link x, Link y)
{
Link previousNode1 = x.prev;
Link nextNode1 = x.next;
Link previousNode2 = y.prev;
Link nextNode2 = y.next;
if (x.next == y || y.next == x)
{
previousNode1.next = y;
y.prev = (previousNode1);
nextNode2.next = (x);
x.next = (nextNode2);
x.prev = (y);
y.next = (x);
}
else
{
y.prev = (previousNode1);
y.next = (nextNode1);
nextNode1.prev = (y);
previousNode1.next = (y);
x.prev = (previousNode2);
x.next = (nextNode2);
nextNode2.prev = (x);
previousNode2.next = (x);
}
} // end swap