比如如下一个函数:bool func(int minimumValue1, int maximumValue1, int minimumValue2, int maxmumValue2)
{
}
1:
func(2,5, 3,6);
返回 true, 有数值重叠2: func(2, 8, 9, 20);
返回 false,无重叠3: func(5, 10, 2,5);
返回true,有重叠4: func(6, 8, 1, 7);
返回 true,有重叠
我自己写了一个,就是简单的把各种情况进行比较,觉得代码太啰嗦了,各位有没有简洁一点的代码?
{
}
1:
func(2,5, 3,6);
返回 true, 有数值重叠2: func(2, 8, 9, 20);
返回 false,无重叠3: func(5, 10, 2,5);
返回true,有重叠4: func(6, 8, 1, 7);
返回 true,有重叠
我自己写了一个,就是简单的把各种情况进行比较,觉得代码太啰嗦了,各位有没有简洁一点的代码?
{
ASSERT(minimumValue1 <= maximumValue1 && minimumValue2 <= maxmumValue2);
if (maximumValue1 >= minimumValue2 && minimumValue1 >= maxmumValue2)
return true
return false;
}
||
(min1 >= min2) && (min1 <= max2)
return (min1 <= max2) && (max1 >= min2);
bool func(int minmumValue1, int maxmumValue1, int minmumValue2, int maxmumValue2)
{
if (minmumValue1 > maxmumValue1 || minmumValue2 > maxmumValue2)
{
return false;
}
bool bResult = false;
if (minmumValue1 == minmumValue2)
{
bResult = true;
}
else if (minmumValue1 < minmumValue2)
{
if (maxmumValue1 >= minmumValue2)
{
bResult = true;
}
}
else
{
if (maxmumValue2 >= minmumValue1)
{
bResult = true;
}
}
return bResult;
}
bool func(int min1, int max1, int min2, int max2)
{
if(min1 > max2 || min2 > max1)
return false;
else
return true;
}
bool func(int minimumValue1, int maximumValue1, int minimumValue2, int maximumValue2)
{
if (minimumValue1<=0 || minimumValue1>=65535)
{
return false;
} if (minimumValue2<=0 || minimumValue2>=65535)
{
return false;
}
if (maximumValue2>minimumValue1 && maximumValue2<maximumValue1)
{
return false;
} if (minimumValue2>minimumValue1 && minimumValue2<maximumValue1)
{
return false;
}
if (maximumValue1>minimumValue2 && maximumValue1<maximumValue2)
{
return false;
} if (minimumValue1>minimumValue2 && minimumValue1<maximumValue2)
{
return false;
} if (maximumValue2==maximumValue1 || maximumValue2==maximumValue1)
{
return false;
} if (minimumValue2==maximumValue1 || minimumValue2==maximumValue1)
{
return false;
} return true;}
{
return false;
} if (minimumValue2==maximumValue1 || minimumValue2==minimumValue1)
{
return false;
}