выбор сортировки по односвязному списку - PullRequest
1 голос
/ 28 марта 2011

мой алгоритм работает ... почти ... по какой-то причине последние два элемента находятся в неправильном порядке после сортировки.Кроме того, оператор print не показывает, что first перемещается вправо.

public static SLL sort(SLL list)
{
    SLLNode first = list.first ;
    SLLNode second ;

    while (first!=null)
    {
        System.out.println(first.data); // for seeing if first does move to the right
        second = first.succ ;
        while (second!=null)
        {
            if (second.data.compareTo(first.data)<0)
            {
                String temp = first.data ;
                first.data = second.data ;
                second.data = temp ;
            }
            second = second.succ ;
        }
        first = first.succ ;
    }
    return list ;
}

до сортировки: FFF fff Hi AAA Bye Ciao

после сортировки: AAA Bye Ciao FFF Hi fff

мой оператор печати сначала выдает FFF, затем только fff

Ответы [ 2 ]

1 голос
/ 28 марта 2011

Поскольку значение прописных букв ascii меньше значения строчных букв.

ascii

0 голосов
/ 28 марта 2011
Also, the print statement does not show me that first moves to the right.
System.out.print(); // for seeing if first does move to the right

Это выражение print () просто ничего не показывает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...