递归是编程语言中一种较为常见的算法,递归的优点是使代码结构层次更清晰使程序更简洁。
举个栗子,大家就明白了,
把一个多维数组里的值打印出来:
NSArray *testArray = @[@"2",@3,@[@"re",@"fd"],@[@"rr",@"ll",@[@[@8,@"fd"],@"jj"]]];
废话不多说,直接上代码:
#pragma mark -- 递归
-(NSMutableArray *)outputArray:(NSArray *)mutArray
{
for (int i = 0;i< mutArray.count ; i++) {
if ([mutArray[i] isKindOfClass:[NSArray class]]) {
[self outputArray:mutArray[i]];
}else{
[_tmpArray addObject:mutArray[i]];
}
}
return _tmpArray;
}
直接打印就行:
NSMutableArray *resultArray = [self outputArray:testArray];
NSLog(@"%@",resultArray);
代码截图
网友评论