符串切割成数组
- (void)viewDidLoad
{
NSString *a = [[NSString alloc] initWithString : @"冬瓜,西瓜,火龙果,大头,小狗" ];
NSArray *b = [a componentsSeparatedByString:@","];
NSString *a3 = [b objectAtIndex:2];
NSLog(@"\n b的第三个东东是: %@", a3);
[a release];
}
冒泡排序
def bubble_sort(lists):
# 冒泡排序
count = len(lists)
for i in range(0, count):
for j in range(i + 1, count):
if lists[i] > lists[j]:
lists[i], lists[j] = lists[j], lists[i]
return lists
NSString中字符的位置
NSString *str = @"12345ba";
NSRange range = [str rangeOfString:@"a"];
NSLog(@"所查的字符坐标为:%ld",range.location);
数组比较
查找相同的数据
一、
NSArray *arr2 = @[@4,@3,@2,@1];
NSArray *arr1 = @[@2,@3,@4,@5];
NSMutableSet *set1 = [NSMutableSet setWithArray:arr1];
NSMutableSet *set2 = [NSMutableSet setWithArray:arr2];
[set1 intersectSet:set2];
NSLog(@"%@",set1);
二、
NSArray * arr2 = @[@4,@3,@2,@1];
NSArray * arr1 = @[@2,@3,@4,@5];
NSPredicate * filterPredicate_same = [NSPredicate predicateWithFormat:@"SELF IN %@",arr1];
NSArray * filter_no = [arr2 filteredArrayUsingPredicate:filterPredicate_same];
NSLog(@"%@",filterPredicate_same);
打印信息:(4,3,2)
注:由观察可以看出打印顺序是按照arr2的顺序打印的,解读代码之后可以
很容易得到结论:打印顺序是由外层循环的数组决定的;
查找不同的数据
一、
NSMutableSet *set1 = [NSMutableSet setWithArray:arr1];
NSMutableSet *set2 = [NSMutableSet setWithArray:arr2];
[set2 minusSet:set1];
NSMutableSet *set3 = [NSMutableSet setWithArray:arr2];
[set1 minusSet:set3];
[set2 unionSet:set1];
NSLog(@"%@",set2);
二、
NSArray * arr2 = @[@4,@3,@2,@1];
NSArray * arr1 = @[@2,@3,@4,@5];
//找到在arr2中不在数组arr1中的数据
NSPredicate * filterPredicate1 = [NSPredicate predicateWithFormat:@"NOT (SELF IN %@)",arr1];
NSArray * filter1 = [arr2 filteredArrayUsingPredicate:filterPredicate1];
//找到在arr1中不在数组arr2中的数据
NSPredicate * filterPredicate2 = [NSPredicate predicateWithFormat:@"NOT (SELF IN %@)",arr2];
NSArray * filter2 = [arr1 filteredArrayUsingPredicate:filterPredicate2];
//拼接数组
NSMutableArray *array = [NSMutableArray arrayWithArray:filter1];
[array addObjectsFromArray:filter2];
NSLog(@"%@",array);
打印信息:(1,5)