iOS常用算法排序

-(void)bubbleSort:(NSMutableArray *)mArray{

    for (int i = 0; i<mArray.count; i++) {

        for (int j=0; j<mArray.count-i-1; j++) {

            int a = [[mArray objectAtIndex:j] intValue];

            int b = [[mArray objectAtIndex:j+1] intValue];

            if (a>b) {

                int temp = [[mArray objectAtIndex:j] intValue];

                mArray[j] = mArray[j+1];

                mArray[j+1] = [NSNumber numberWithInt:temp];

            }

        }

    }

    NSLog(@”冒泡排序array:%@”,mArray);

}

-(void)selectSort:(NSMutableArray *)mArray{

    for (int i=0; i<mArray.count; i++) {

        for (int j=i+1; j<mArray.count; j++) {

            if ([mArray[i] intValue] > [mArray[j] intValue]) {

                int temp = [mArray[i] intValue];

                mArray[i] = mArray[j];

                mArray[j] = [NSNumber numberWithInt:temp];

            }

        }

    }

    NSLog(@”选择排序array%@”,mArray);

}

-(void)insertSort:(NSMutableArray *)mArray{

    for (int i = 0; i<mArray.count; i++) {

        int temp = [mArray[i] intValue];

        for (int j=i-1; j>0&&temp<[mArray[j] intValue]; j–) {

            mArray[j+1] = mArray[j];

            mArray[j] = [NSNumber numberWithInt:temp];

        }

    }

    NSLog(@”插入排序array%@”,mArray);

}

分享到: 更多
Separator image Posted in IOS.