Sort Players based on Lap, and Checkpoint

Hey Guys,
I have a Problem I’m trying to solve with ordering players based on distance around a track in a racing game.

So as of now, I have 3 variables that all players have every tick. Lap#, Checkpoint#, and DistanceToNextCheckpoint

I need a easy way to sort all this information into a neat new sorted array so I know which players are 1st, 2nd, third etc.

this is how I’m trying to solve it right now, which seems too heavy and wonky.
Thanks for any advice!

Ron.