博客
关于我
Objective-C实现mergesort归并排序算法(附完整源码)
阅读量:792 次
发布时间:2023-02-19

本文共 922 字,大约阅读时间需要 3 分钟。

Objective-C实现mergesort归并排序算法

下面是Objective-C实现的mergesort归并排序算法的完整源代码:

#import   @interface MergeSort : NSObject (NSArray *)mergeSortArray:(NSArray *)array { if (array.count <= 1) { return array; } NSArray *left = [self mergeSortArray:array[0...floor(array.count / 2)]]; NSArray *right = [self mergeSortArray:array[floor(array.count / 2)+1...array.count]]; return [self mergeTwoSortedArrays:left : right]; } (NSArray *)mergeTwoSortedArrays:(NSArray *)left : (NSArray *)right { int i = 0, j = 0; int n = 0; if (left.count > 0) n = left.count; if (right.count > 0) n = max(n, right.count); NSMutableArray *result = [NSMutableArray new]; while (i < left.count && j < right.count) { if (left[i] <= right[j]) { [result addObject:left[i]]; i++; } else { [result addObject:right[j]]; j++; } } while (i < left.count) { [result addObject:left[i]]; i++; } while (j < right.count) { [result addObject:right[j]]; j++; } return result; }

转载地址:http://pmnfk.baihongyu.com/

你可能感兴趣的文章
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty核心模块组件
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Netty相关
查看>>
Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
查看>>
Network Sniffer and Connection Analyzer
查看>>
NFS共享文件系统搭建
查看>>