Ich habe zwei Arrays. Lassen Sie uns sagen:Sortieren eines Arrays in der gleichen Reihenfolge wie ein anderes Array
array = "Dave", "Mike", "Joe", "Jason", "Kevin"
und
IQ = 110, 145, 75, 122, 130
ich sie von IQ sortieren möchten. Sage am höchsten zum niedrigsten. Ich kann ein Array sortieren ... und dann gehe ich zurück und überprüfe, in welcher Position es sich befindet, und ordne dann das andere Array neu an. Es scheint, als müsste es einen besseren Weg geben, dies zu tun. Vor allem, wenn das Array größer wird.
Hier ist, wie ich es gerade mache.
d1, d2, d3, d4, d5
sind meine IQ
Variable. Ich verwende das Array sortBack
, um ein anderes Array in derselben Reihenfolge neu anzuordnen.
NSMutableArray *myArray = [NSMutableArray arrayWithObjects:[NSString stringWithFormat:@"%d",d1], [NSString stringWithFormat:@"%d",d2],[NSString stringWithFormat:@"%d",d3], [NSString stringWithFormat:@"%d",d4],[NSString stringWithFormat:@"%d",d5], nil];
//sorting
[myArray sortUsingComparator:^NSComparisonResult(NSString *str1, NSString *str2) {
return [str1 compare:str2 options:(NSNumericSearch)];
}];
for(int i=0;i<5;i++)
{
if([[myArray objectAtIndex:i] integerValue]==d1)
{
sortBackArray[i]=1;
}
else if([[myArray objectAtIndex:i] integerValue]==d2)
{
sortBackArray[i]=2;
}
else if([[myArray objectAtIndex:i] integerValue]==d3)
{
sortBackArray[i]=3;
}
else if([[myArray objectAtIndex:i] integerValue]==d4)
{
sortBackArray[i]=4;
}
else if([[myArray objectAtIndex:i] integerValue]==d5)
{
sortBackArray[i]=5;
}
}
Warum pflegen Sie zwei Arrays dafür. Es ist besser, eine Reihe von Wörterbüchern mit Namen und IQ-Werten zu haben. Sie können dann einen Sortierdeskriptor mit dem Schlüssel IQ erstellen und das Array sortieren. Wenn Sie eine verwandte Information haben, halten Sie sie immer zusammen. – Anupdas
Ja, ich dachte, das könnte der richtige Weg sein, aber ich neige dazu, mich mit dem Wörterbuchzeug zu verwirren. Ich werde es mir nochmal ansehen. –
Es wäre sehr schwierig, wenn Sie nicht Wörterbücher oder benutzerdefinierte Modellobjekte verwenden, um Daten strukturiert zu halten. Ich habe ein Beispiel gepostet. Schau mal. – Anupdas