Quel est le moyen le plus efficace de tester les deux entier plages de chevauchement?

Donné deux inclusive entier intervalle [x1:x2] et [y1:y2], où x1 ≤ x2 et y1 ≤ y2, ce qui est le moyen le plus efficace pour tester s'il existe un chevauchement des deux gammes?

Une simple mise en œuvre est comme suit:

bool testOverlap(int x1, int x2, int y1, int y2) {
  return (x1 >= y1 && x1 <= y2) ||
         (x2 >= y1 && x2 <= y2) ||
         (y1 >= x1 && y1 <= x2) ||
         (y2 >= x1 && y2 <= x2);
}

Mais je m'attends il y a des moyens plus efficaces pour le calcul de ce.

Quelle méthode serait la plus efficace en termes de minimum d'opérations.

InformationsquelleAutor WilliamKF | 2010-07-16