object版的快排

复制代码
#import "QuickSort.h"

@implementation QuickSort
-(int)helpMethod:(NSMutableArray*)array left:(int)left right:(int)right{
    NSNumber* record=array[left];
    while (left<right) {
        while (left<right&&array[right]>=record) {
            right--;
        }
        array[left]=array[right];
        
        while (left<right&&array[left]<=record) {
            left++;
        }
        array[right]=array[left];
    }
    array[left]=record;
    return left;
}

-(void)main:(NSMutableArray *)array left:(int)left right:(int)right{
    if (left<right) {
        int middleIndex=[self helpMethod:array left:left right:right];
        [self main:array left:left right:middleIndex-1];
        [self main:array left:middleIndex+1 right:right];
    }
}
@end
复制代码

 

posted @   learnWindowsPhone  阅读(156)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
· Vue3封装支持Base64导出的电子签名组件
点击右上角即可分享
微信分享提示