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];
        }
    }
  • 相关阅读:
    The Water Problem(排序)
    Alisha’s Party(队列)
    The Hardest Problem Ever(字符串)
    火烧赤壁
    Jquery操作一遍过
    Django之认证系统
    Mysql漂流系列(一):MySQL的执行流程
    RESTful架构&简单使用Django rest framework
    git&github快速掌握
    jsonp突破浏览器同源策略
  • 原文地址:https://www.cnblogs.com/learnWindowsPhone/p/3670662.html
Copyright © 2011-2022 走看看