swift 版
var numbers = [17, 28, 36, 15, 39]
print("排序前\(numbers)")
for i in 0..<numbers.count - 1 {
for j in 0..<numbers.count - 1 - i {
if numbers[j] > numbers[j + 1] {
numbers.swapAt(j, j+1)
}
}
}
print("排序后\(numbers)")
OC版
NSMutableArray *numbers = [NSMutableArray arrayWithObjects:@"17",@"28",@"36",@"15",@"39", nil];
NSLog(@"排序前%@",numbers);
for (int i = 0; i < 5 - 1; i++) {
//比较的躺数
for (int j = 0; j < 5 - 1 - i; j++) {
//比较的次数
if ([numbers[j] intValue] > [numbers[j + 1] intValue]) {
//这里为升序排序
int temp = [numbers[j] intValue];
numbers[j] = numbers[j + 1];
//OC中的数组只能存储对象,所以这里转换成string对象
numbers[j + 1] = [NSString stringWithFormat:@"%d",temp];
}
}
}
NSLog(@"排序后%@",numbers);
NSArray *sortedArray = [totalPriceArray sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
if ([obj1 integerValue] > [obj2 integerValue]) {
return NSOrderedDescending;
}
if ([obj1 integerValue] < [obj2 integerValue]) {
return NSOrderedAscending;
}
return NSOrderedSame;
}];
self.indexArray = [[NSArray alloc] initWithArray:[[self.sortedNameDict allKeys] sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
return [obj1 compare:obj2];
}]];
for (SHMaasOnlineCarEstimateInfoModel *model in tempArr) {
NSLog(@"排序前model.fee = %ld", model.fee);
}
if (tempArr.count > 0){
[tempArr sortUsingComparator:^NSComparisonResult(SHMaasOnlineCarEstimateInfoModel *obj1, SHMaasOnlineCarEstimateInfoModel *obj2) {
return [@(obj1.fee) compare:@(obj2.fee)];
// if (obj1.fee > obj2.fee) {
// return NSOrderedDescending;
// }else if (obj1.fee > obj2.fee){
// return NSOrderedAscending;
// }else{
// return NSOrderedSame;
// }
}];
for (SHMaasOnlineCarEstimateInfoModel *model in tempArr) {
NSLog(@"排序后model.fee = %ld", model.fee);
}
}