L'algoritmo è fatto per c ma funziona anche per c++

la funzione restituisce un intero: in c il tipo booleano non esiste, in questo caso un booleano è rappresentato da un intero (true se è non zero, false se è zero)

l'istruzione " ord = (a[i] <= a[i+1]) " mette nella variabile ord il risultato dell'espressione booleana (a[i] <= a[i+1]), quindi ord varrà 1 se a[i]<=a[i+1], 0 altrimenti.