iOS开发之数组去重与排序

释放双眼,带上耳机,听听看~!

开发中经常会遇见数组去除重复元素并将乱序的元素有序排列的需求,刚好今天项目中也涉及到,废话不多说,直接上code!这里的数组元素为字符串

/**

 *  冒泡排序

 */

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

    if (arr.count <3) {

        return;

    }

    for (int j =1; j<= [arr count]; j++) {

        for(int i =0 ;i < j ; i++){

            if(i == [arr count]-1)return;

            NSString * str1 = [arr objectAtIndex:i];

            NSString * str2 = [arr objectAtIndex:i+1];

            if([str1compare:str2] ==NSOrderedDescending){

                [arr exchangeObjectAtIndex:iwithObjectAtIndex:i+1];

            }

        }

    }

}




/**

 *  数组去重

 */

- (NSArray *)deleteSameItemsInArray:(NSMutableArray *)arr{

    NSLog(@"去重前的数组%@",arr);

    NSMutableArray *tmpArr = [[NSMutableArrayalloc]initWithCapacity:0];

    [tmpArr addObject:[arrfirstObject]];

    int j;

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

        NSString *str = [arrobjectAtIndex:i];

        for (j=0; j<tmpArr.count; j++) {

            NSString *tmpStr = [tmpArrobjectAtIndex:j];

            if ([strcompare:tmpStr]==NSOrderedSame) {

                break;

            }

        }

        if (j==tmpArr.count) {

            [tmpArr addObject:str];

        }

    }

    NSLog(@"去重后的数组%@",tmpArr);

    [self bubbleSort:tmpArr];

    return tmpArr;

}

 

人已赞赏
iOS文章

IOS应用开发版本控制工具之Versions使用

2020-5-20 3:01:55

iOS文章

关于Github上FFMPEG流媒体播放器

2020-5-20 4:16:49

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索