A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 水了个淼 中级黑马   /  2014-9-26 09:37  /  1652 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

NSArray *persons = @[
                             @{@"name" : [s1 name],
                               @"age" :[NSNumber numberWithInt:[s1 age]],
                               @"grade":[NSNumber numberWithInt:[s1 garde]]},
                             
                             @{@"name" : [s2 name],
                               @"age" :[NSNumber numberWithInt:[s2 age]],
                               @"grade":[NSNumber numberWithInt:[s2 garde]]},
                             @{@"name" : [s3 name],
                               @"age" :[NSNumber numberWithInt:[s3 age]],
                               @"grade":[NSNumber numberWithInt:[s3 garde]]},
                             
                             @{@"name" : [s4 name],
                               @"age" :[NSNumber numberWithInt:[s4 age]],
                               @"grade":[NSNumber numberWithInt:[s4 garde]]},
                             
                             @{@"name" : [s5 name],
                               @"age" :[NSNumber numberWithInt:[s5 age]],
                               @"grade":[NSNumber numberWithInt:[s5 garde]]},
                             
                             ];
  
     
        
        for (int i = 0; i < persons.count;  i++) {
            
            for (int j = 0; j < persons.count - i -1; j++) {
               
                id temp = nil;
                    if (persons[j][@"grade"] >persons[j+1][@"grade"] ) {
                        
                        
                        temp=persons[j+1][@"grade"];
                        persons[j+1][@"grade"]=persons[j][@"grade"];
                        persons[j][@"grade"]=temp;
                    }
               
            }
        }

4 个回复

倒序浏览
这个怎么会报错呢   s1 s2 s3 s4 s5 分别是创建的5个Person 对象
回复 使用道具 举报
[s1 name],你确定这个写法正确?
回复 使用道具 举报
#pragma mark - 冒泡排序
void BubbleSort(int a[], int n)
{
    for (int i = 0; i < n; i++)
        for (int j = i+1; j < n; j++)
            if (a[j] > a[i]) {
                int temp =a[i];
                a[i] = a[j];
                a[j] = temp;
            }
}

貌似j < persons.count - i -1最后一个数字没有参加比较
回复 使用道具 举报
SailY 发表于 2014-9-26 10:04
#pragma mark - 冒泡排序
void BubbleSort(int a[], int n)
{

是 array[j] 和 array[ j + 1] 比较吧:L
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马