zoukankan      html  css  js  c++  java
  • 排序 接口

    //

    //  main.m

    //  练习排序1

    //

    //  Created by syrcfwzx on 16/1/7.

    //  Copyright (c) 2016年 syrcfwzx. All rights reserved.

    //

    #define NSLog(FORMAT, ...) printf("%s ", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]) 

    #import <Foundation/Foundation.h>

    #import "preson.h"

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            preson *stu=[[preson alloc]initClasses:@"IOS8" andName:@"CB" andAge:19];

            preson *stu1=[[preson alloc]initClasses:@"IOS6" andName:@"SB" andAge:20];

            preson *stu2=[[preson alloc]initClasses:@"IOS8" andName:@"AB" andAge:17];

            preson *stu3=[[preson alloc]initClasses:@"IOS7" andName:@"JB" andAge:29];

            NSArray *arr=[NSArray arrayWithObjects:stu,stu1,stu2,stu3,nil];

            NSArray *sortArr=[arr sortedArrayUsingSelector:

                             @selector(compareCLASSandNAME:)];

        for(preson *preson1 in sortArr)

        {

            NSLog(@"班级-%@  姓名-%@ 年龄-%d",preson1.classes,preson1.name,preson1.age);

        }

    //        NSArray *sortArr1=[arr sortedArrayUsingSelector:@selector(compareAge:)];

    //        for (preson *preson1 in sortArr1) {

    //           NSLog(@"班级-%@  姓名-%@ 年龄-%d",preson1.classes,preson1.name,preson1.age);

    //        }

        }

        return 0;

    }

    //

    //  preson.h

    //  练习排序1

    //

    //  Created by syrcfwzx on 16/1/7.

    //  Copyright (c) 2016年 syrcfwzx. All rights reserved.

    //

    #import <Foundation/Foundation.h>

    @interface preson : NSObject

    @property NSString *classes;

    @property NSString *name;

    @property int age;

    -(instancetype)initClasses:(NSString *)classes andName:(NSString *)name

                        andAge:(int)age;

    -(NSComparisonResult)compareCLASSandNAME:(preson *)preson1;

    -(NSComparisonResult)compareAge:(preson *)preson1;

    @end

    //

    //  preson.m

    //  练习排序1

    //

    //  Created by syrcfwzx on 16/1/7.

    //  Copyright (c) 2016年 syrcfwzx. All rights reserved.

    //

    #import "preson.h"

    @implementation preson

    -(instancetype)initClasses:(NSString *)classes andName:(NSString *)name

                        andAge:(int)age;

    {

        preson *preson1=[[preson alloc]init];

        preson1.classes=classes;

        preson1.name=name;

        preson1.age=age;

        return preson1;

    }

    -(NSComparisonResult)compareCLASSandNAME:(preson *)preson1;{

        NSComparisonResult result=[self.classes compare:preson1.classes];

       

        if (result==NSOrderedAscending) {

            return [self.classes compare:preson1.classes];

        }else{

            return result;

        }

        

    }

    -(NSComparisonResult)compareAge:(preson *)preson1;{

        if (self.age==preson1.age) {

            return NSOrderedSame;

        }else if (self.age<preson1.age){

            return NSOrderedAscending;

        }else{

            return NSOrderedDescending;

        }

    }

                //重写description使打印出来的带有格式

    -(NSString *)description{

                //格式化输出

             return [NSString stringWithFormat:@"Class:%@ Name:%@ Age:%d",self.classes,self.name,self.age];

        

         }

    @end

  • 相关阅读:
    我自己开发的工具,打印出百度贴吧某用户发表过的所有帖子
    The Smart Field Service Prototype powered by SAP FSM and Wechat
    如何阻止SAP CRM订单创建好之后,自动被置为传输状态这一行为
    C++ Primer读书笔记(3)
    C++ Primer读书笔记(2)
    Coursera台大机器学习技法课程笔记08-Adaptive Boosting
    计算机视觉目标检测的框架与过程(转)
    目标检测的图像特征提取之(一)HOG特征(转)
    Coursera台大机器学习技法课程笔记07-Blending and Bagging
    前景检测(1):VIBE
  • 原文地址:https://www.cnblogs.com/LiHai/p/5113080.html
Copyright © 2011-2022 走看看