私の整数が整数の配列にあるかどうかを確認するにはどうすればよいですか...
たとえば、7 が [ 1 3 4 5 6 7 8] の配列にあるかどうかを知りたい
何か案は?
ありがとう
私の整数が整数の配列にあるかどうかを確認するにはどうすればよいですか...
たとえば、7 が [ 1 3 4 5 6 7 8] の配列にあるかどうかを知りたい
何か案は?
ありがとう
これには、配列のサイズ (検索する必要がある頻度、配列に追加する必要がある頻度など) などの要因に応じて、いくつかの方法があります。一般に、これはコンピューター サイエンスの問題です。
具体的には、ニーズに最も適した 3 つのオプションがあると思います。
これは、オブジェクトまたは C 配列の場合、配列のタイプによって異なります。あなたのタグから判断すると、NSIntegers を持つ NSArray を持っていますが、これは間違っているでしょう。NSInteger はオブジェクトではなく、NSNumber などのオブジェクトにラップしない限り、NSArray に入れることはできません。
メソッドを使用しcontainsObject:
ます。
整数を NSArray に入れる方法がよくわかりません。これを行う通常の方法は、NSNumber を使用することです。
NSArray *theArray = [NSArray arrayWithObjects:[NSNumber numberWithInteger:1],
[NSNumber numberWithInteger:7],
[NSNumber numberWithInteger:3],
nil];
NSNumber *theNumber = [NSNumber numberWithInteger:12];
/*
* if you've got the plain NSInteger you can wrap it
* into an object like this:
* NSInteger theInt = 12;
* NSNumber *theNumber = [NSNumber numberWithInteger:theInt];
*/
if ([theArray containsObject:theNumber]) {
// do something
}
C-Array を使用していると思われます。その場合、独自のループを作成する必要があります。
NSInteger theArray[3] = {1,7,3}
NSInteger theNumber = 12;
for (int i; i < 3; i++) {
if (theArray[i] == theNumber) {
// do something
break; // don't do it twice
// if the number is twice in it
}
}
//assume these data, either from a method call or instance variables
int theArray[7] = {1,7,3,8,5,7,4};
int numberIWant = 8;
//this is the essence in a C-array, which you can easily use on ios
BOOL isNumberFound = NO;
for (int i; i < sizeof(theArray)/sizeof(int); i++) {
if (theArray[i] == numberIWant) {
isNumberFound = YES;
break; //breaks the for loop
}
}
//return the bool, or otherwise check the bool
if (isNumberFound)
{
//do stuff
}