sorting the Linked List

i want to sort the Linked Lists (LL), but it cause a "blurring" in my brain !!
i suppose this situation:
B -> 100
C -> 50
A -> 200
D -> 10

and by sorting it (Descending) we should get
A -> 200
B -> 100
C -> 50
D -> 10

my approach is to get all the numbers in an array and to sort it with array sort, after that i go through the array one by one and then searching the numbers in the LL , i then update the linked list data to equal the array index (i).

better an example
the console output in the last 4 lines is:
2 b
3 c
1 a
4 d

this info say that A have a highest score 200 -> 1.
B have the second score
C the third
D the fourth

not so bad from the practical view point
```uses "LL", "Console"

function TBMain()

Local llRoot, llItem, ptItem  As DWord
local Counter         as long

Dim arr(4) As Long

' -- We create linked list root here, basically a first node
llRoot = LL_Add(0, "B", 100)

' -- We add item "A" after root node
llItem = LL_Add(llRoot, "C", 50)

' -- We add item "B"

' -- We add item "C"

' -- Now we can list data of all nodes
Dim i As Long

For i = 1 To LL_Count(llRoot)
PrintL LL_Data( LL_GetByNumber(llRoot, i) )
Next
PrintL
For i = 1 To LL_Count(llRoot)
llItem = LL_GetByNumber(llRoot, i)
arr(i) = LL_Data(llItem)
Next

Array Sort arr(), Collate Ucase, Descending
For i = 1 To 4
PrintL arr(i)
Next
PrintL
For i = 1 To 4
ptItem = LL_FindByData(llRoot, arr(i))
LL_Update(ptItem, i)
Next

For i = 1 To 4
ptItem = LL_GetByNumber(llRoot, i)
PrintL LL_Data( ptItem ) & " " & LL_Name(ptItem)
Next

' -- Now we free all data
ll_Free(llRoot)

waitkey

end function
```