插入排序

- (void)insertSort
{
    NSMutableArray *dataArray = [NSMutableArray arrayWithObjects:@3,@4,@6,@2,@9,@7,@8, nil];
    for (int i = 0; i<dataArray.count-1; i++) {
        NSInteger j = i+1;
        while (j>=1 && [dataArray[j-1]integerValue]<[dataArray[j]integerValue]) {
            id obj = dataArray[j];
            [dataArray replaceObjectAtIndex:j withObject:dataArray[j-1]];
            [dataArray replaceObjectAtIndex:j-1 withObject:obj];
            j--;
            [AlgorithmSort printArray:dataArray];
        }
    }
    [AlgorithmSort printArray:dataArray];
    
}

- (void)kInserSort:(NSMutableArray *)array{
    array = [NSMutableArray arrayWithObjects:@3,@4,@6,@2,@9,@7,@8, nil];
    for (int i = 0; i < array.count; i++) {
        NSNumber *temp = array[i];
        int j = i-1;
        while (j >= 0 && [array[j] compare:temp] == NSOrderedDescending) {
            [array replaceObjectAtIndex:j+1 withObject:array[j]];
            j--;
        }
        [array replaceObjectAtIndex:j+1 withObject:temp];
        NSLog(@"插入排序排序中:%@",array);
    }
}



+ (void)printArray:(NSArray *)array
{
    for(NSNumber *number in array) {
        printf("%d ",[number intValue]);
    }
    
    printf("\n");
}

posted @   路在脚下,  阅读(62)  评论(0编辑  收藏  举报
编辑推荐:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
历史上的今天:
2013-08-14 UIImagePickerController, memory warning
点击右上角即可分享
微信分享提示