zoukankan      html  css  js  c++  java
  • 现有一个数组NSMutableArray, 数组有若干个NSString的元素,进行选择法排序

     // 参数arr 表示数组对象地址
     //参数 asc=YES 表示升序 asc=NO 表示降序

    -(void)selectionSort:(NSMutableArray *)arr andAsc:(BOOL)asc
    {
        
           if (asc==NO) {
            for (int i=0; i<arr.count; i++) {
                for (int j=i+1; j<arr.count; j++) {
                    if ([arr[i]isLessThan:arr[j]]) {
                        NSString *str=arr[i];
                        arr[i]=arr[j];
                        arr[j]=str;
                    }

                }
                            }
            NSLog(@"%@",arr);
            }
        //no降序//yes升序
        else if(asc==YES)
        {
            for (int i=0; i<arr.count; i++) {
                for (int j=i+1; j<arr.count; j++) {
                    NSComparisonResult retstr=[arr[i] compare:arr[j]];
                    if (retstr==NSOrderedDescending) {
                        NSString *str=arr[i];
                        arr[i]=arr[j];
                        arr[j]=str;
                    }
                }
                
            }
            NSLog(@"%@",arr);
        }
        else
        {NSLog(@"输入有误");}
    }
    +(void)test
    {
        NSMutableArray *ary=[[NSMutableArray alloc]initWithObjects:@"aa",@"bne",@"cwo",@"dd",@"ehree",@"four", nil];
        BOOL ret=YES;
        NSLog(@"升序");
        Releven *elev=[[Releven alloc]init];
        [elev selectionSort:ary andAsc:ret];
        NSLog(@"降序");
        ret=NO;
        [elev selectionSort:ary andAsc:ret];
    }

  • 相关阅读:
    深度学习100问
    BAT机器学习面试1000题系列
    深度学习项目——基于卷积神经网络(CNN)的人脸在线识别系统
    深入理解卷积层
    AI大道理头尾标识
    git-svn Manual Page
    收藏夹
    C语言 #、##、#@在#define中的用法
    ubuntu 编译安装自己的git-svn
    ALSA参考文档
  • 原文地址:https://www.cnblogs.com/rainwz/p/4587631.html
Copyright © 2011-2022 走看看