List BubbleSort

Eu preciso de fazer uma ordenação de uma lista simplesmente ligada com sentinela, de forma crescente…

Estive a investigar e o bubbleSort pode ser implementado da seguinte forma:

Os elementos são sucessivamente colocados na sua posição final a partir da posição mais á esquerda da sequência.

Mas a minha dúvida é a seguinte… com um array… eu usava 2 iteradores… um iterava do fim… outro do inicio… e ia trocando eles sempre que o valor do do fim fosse menor que o do inicio…
Mas com lista n posso andar para trás… apenas para a frente… visto que a lista é simplesmente ligada…

static void bubbleSort(Node dummy){...}

Encontrei na net… um pseudo-código… mas não estou conseguindo aplicar…

procedure bubbleSort( A : list of sortable items ) defined as:
  do
    swapped := false
    for each i in 0 to length( A ) - 2 do:
      if A[ i ] > A[ i + 1 ] then
        swap( A[ i ], A[ i + 1 ] )
        swapped := true
      end if
    end for
  while swapped
end procedure

Collections.sort(java.util.List suaLista);

esse método já faz isso pra vc.