三个整数的最大值(最高值)和最小值(最低值)

Tre*_*zar 11 iphone objective-c ios

我有三个整数

int myI1 = 33;
int myI2 = 44;
int myI3 = 22;
Run Code Online (Sandbox Code Playgroud)

我想确定什么是最高的,哪个是使用Objective-C的最低值

我不知道要走哪条路...... NSArray,int array或其他东西.我知道我可以继续比较这些值,但我正在寻找更优雅和/或更通用的方法.

谢谢!

Jur*_*aho 27

将这些数字存储在数组中是很好的.简单的C数组就足够了,在Objective-C中性能最佳.要找到最低限度,您可以使用此功能.类似于最大值.

int find_min(int numbers[], int N){
    int min = numbers[0];
    for(int i=1;i<N;i++)
        if(min>numbers[i])min=numbers[i];

    return min;
}
Run Code Online (Sandbox Code Playgroud)

如果只有三个数字,您可以手动进行比较以获得最佳性能.在Foundation/NSObjCRuntime.h中的Cocoa中有一个MIN()和MAX()宏.最大限度,只需:

int m = MAX(myI1, MAX(myI2, myI3));
Run Code Online (Sandbox Code Playgroud)

这可以缩放到更多数字,并且可以比使用循环的第一种方法更快.

  • MIN()和MAX()是你的朋友. (3认同)