zoukankan      html  css  js  c++  java
  • object 版归并排序

    -(void)main:(NSMutableArray*)srcArray{
        NSMutableArray* tempArray=[[NSMutableArray alloc] init];
        [self main:srcArray tempArray:tempArray left:0 right:(int)([srcArray count]-1)];
    }
    
    -(void)main:(NSMutableArray*)srcArray tempArray:(NSMutableArray*)tempArray left:(int)left right:(int)right{
        if (left<right) {
            int middle=(left+right)/2;
            [self main:srcArray tempArray:tempArray left:left right:middle];
            [self main:srcArray tempArray:tempArray left:middle+1 right:right];
            [self merger:tempArray srcArray:srcArray leftStart:left leftEnd:middle rightStart:middle+1 rightEnd:right];
        }
    }
    
    -(void)merger:(NSMutableArray*) tempArray srcArray:(NSMutableArray*)srcArray leftStart:(int)leftStart leftEnd:(int)leftEnd rightStart:(int)rightStart rightEnd:(int)rightEnd{
        int index=leftStart;
        int srcLeftStart=leftStart;
        while (leftStart<=leftEnd&&rightStart<=rightEnd) {
            if ([srcArray[leftStart] intValue]<[srcArray[rightStart] intValue]) {
                tempArray[index++]=srcArray[leftStart++];
            }else{
                tempArray[index++]=srcArray[rightStart++];
            }
        }
        
        while (leftStart<=leftEnd) {
            tempArray[index++]=srcArray[leftStart++];
        }
        
        while (rightStart<=rightEnd) {
            tempArray[index++]=srcArray[rightStart++];
        }
        
        for (int i=srcLeftStart; i<=rightEnd; i++) {
            srcArray[i]=tempArray[i];
        }
    }
  • 相关阅读:
    矩阵游戏
    water
    string
    react中怎么实现类似vue的空标签
    git clone项目 权限 问题
    npm 时 确实core-js 问题
    修改本地git仓库用户名和邮箱
    cnpm时报错
    wowza视频录制接口
    Juery鼠标放上去、移开
  • 原文地址:https://www.cnblogs.com/learnWindowsPhone/p/3670662.html
Copyright © 2011-2022 走看看