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];
        }
    }
  • 相关阅读:
    UIViewcontroller生命周期方法
    runtime中的宏定义解释表
    opencv在Mac环境下的安装和配置
    Oracle导入导出
    Oracle触发器详解
    查找表的父表和子表
    Oracle创建表空间
    TRIGGER控制级联更新
    启动Oracle的bat文件
    PL(SQL)块
  • 原文地址:https://www.cnblogs.com/learnWindowsPhone/p/3670662.html
Copyright © 2011-2022 走看看