Most programming languages (such as C#, Java, …) allow you to sort lists. Most of them also allow you to specify a sorting function so that you can customize the sort order. These functions usually take parameters a and b and define the return value as follows:
| Return value | if |
|---|---|
| less than zero | a is less than b |
| equals zero | a is equal to b |
| greater than zero | a is greater than b |
Usually you would do something like this (code in C#):
int Compare(int a, int b) {
if (a < b) {
return -1;
}
else if (a > b) {
return 1;
}
else {
return 0;
}
}
However, when comparing int values, there’s a much quicker way to do this:
int Compare(int a, int b) {
return a - b;
}
That’s it.
Care should be taken if a and/or b can come close to int.MaxValue or int.MinValue. In this case the results may not be what one wants (like if a = int.MinValue and b = 1 then the result will be int.MaxValue which is wrong).