Non cambia niente tra un array di struct con campo numerico, o un array numerico. Usa un algoritmo di ordinamento sul campo euro, e poi scambi gli elementi dell' array. In pratica nelL algoritmo cambia solo il confronto, invece di confrontare gli elementi, confronti il campo euro.