将一个字符串中的字符按照ASCII码从小到大的顺序排序

来源:互联网 发布:旧版淘宝2016下载安装 编辑:程序博客网 时间:2024/05/16 12:23

//  Copyright (c) 2015年 JWC. All rights reserved.


 传入:@"Lifeislikeridingabicycletokeepyourblanceyoumustkeepmoving"
 返回:@"Laabbcccdeeeeeeeefggiiiiiiikkklllmmnnnoooopprrssttuuuvyyy"
 */
-(NSString *)sortString:(NSString *)str{
    NSMutableString *muString = [NSMutableString stringWithString:str];
    //冒泡排序
    for (int i = 0; i < muString.length - 1; i++) {
        
        for (int j = 0; j < muString.length - i - 1; j++) {
            if ([muString characterAtIndex:j] > [muString characterAtIndex:j+1]) {
                //把第j+1的值取出来赋值给p
                unichar p = [muString characterAtIndex: j+1];
                //用第j为替换第j+1位
                [muString replaceCharactersInRange:NSMakeRange(j+1, 1) withString:[NSString stringWithFormat:@"%c",[muString characterAtIndex:j]] ];
                //用第j+1位的值替换给第j位,完成交换
                [muString replaceCharactersInRange:NSMakeRange(j, 1) withString:[NSString stringWithFormat:@"%c",p]];
                
            }
        }
    }

    return muString;
}

0 0
原创粉丝点击