ordenar números...

Hola,
En C hay hay función para ordenar de forma binaria: qsort()
Puedes definir una estructura con los dos números, y definir una función de comparación. Para recordar cosas que casi las tenía olvidadas, he hecho un ejercicio con tu problema, reducido a 5 números. Espero que te sirva.

struct numeros
{
   int num1;
   int num2;
} numeros[5];


int compara_numeros( const void *a, const void *b)
{
    struct numeros *n1, *n2;
   n1 = (struct numeros *)a; 
   n2 = (struct numeros *)b;
   if(n1->num1 > n2->num1) return 1;
   if(n1->num1 < n2->num1) return -1; 
   if(n1->num2 > n2->num2) return 1;   
   if(n1->num2 < n2->num2) return -1;
   return 0;
 };
 
void setup() 
{
   Serial.begin(9600); 
}


int n;

void loop() 
{

   numeros[0].num1 = 33 ;  numeros[0].num2 = 31 ;
   numeros[1].num1 = 4 ;   numeros[1].num2 = 3 ;
   numeros[2].num1 = 111 ; numeros[2].num2 = 222 ;
   numeros[3].num1 = 1 ;   numeros[3].num2 = 3 ;
   numeros[4].num1 = 1 ;   numeros[4].num2 = 2 ;
    
   qsort((void *)numeros, 5, sizeof(numeros[0]), compara_numeros);

   for(n=0;n<5;n++)
   {
       Serial.print(numeros[n].num1); Serial.print("  ");
       Serial.println(numeros[n].num2);
   }
   delay(5555);
}