array semi-sort