| Here you go :) 
 
Graphics 640,480,16,2
SetBuffer BackBuffer()
SeedRnd MilliSecs()
Type Player
Field name$
Field id
End Type
;just some names :)
Dim name$(9)
name$(0)="Jacob"
name$(1)="Emily"
name$(2)="Michael"
name$(3)="Hannah"
name$(4)="Joshua"
name$(5)="Madison"
name$(6)="Matthew"
name$(7)="Samantha"
name$(8)="Andrew"
name$(9)="Ashley"
;create ten players
For l=1 To 10
p.Player=New Player
p\name$=name$(l-1) ;add name :)
p\id=Int(Rnd(0,100000)) ; just a random number
Next
unsort=1
Repeat
Cls
Text 320,10,"Press Space to toggle bestween to sort by name or id",1
If KeyHit(57)
	unsort=0
	sort=1-sort
	If sort=0
	
		SortPlayersID() ; sort by id
	
	Else 
	
		SortPlayersNAME(); sort by name
	
	EndIf
EndIf
drawPlayer()
If unsort=1 
	Text 240,400,"Players unsorted",1
Else
	If sort=0
		Text 240,400,"Sorted by id",1
	
	Else
		Text 240,400,"Sorted by names",1
	EndIf
EndIf
Flip
Until KeyDown(1)
End
Function drawPlayer()
For p.Player=Each Player
	Text 50,40+n*(FontHeight()+4),p\name$
	
	Text 250,40+n*(FontHeight()+4),"id :"+p\id
	
	n=n+1
Next
End Function
;Snippet modified from code acrhives :)
Function SortPlayersID()
    b.Player=First Player
    flag=True
    While flag
        flag=False
        bb.Player=Last Player
        While bb<>b
            bbb.Player=Before bb
            If bbb=Null Exit
            If bb\id<bbb\id  ;<------------- sort by ids
                Insert bbb After bb
                flag=True
            Else
                bb=bbb
            EndIf
        Wend
        b=After bb
    Wend
End Function
;Snippet modified from code acrhives :)
Function SortPlayersNAME()
    b.Player=First Player
    flag=True
    While flag
        flag=False
        bb.Player=Last Player
        While bb<>b
            bbb.Player=Before bb
            If bbb=Null Exit
            If bb\name$<bbb\name$ ;<------------- sort by name$
                Insert bbb After bb
                flag=True
            Else
                bb=bbb
            EndIf
        Wend
        b=After bb
    Wend
End Function
 
 |