我有一个自定义对象数组。这些对象表示二进制文件中的段。 属性loc
在文件中保存对象自己的位置,其中prev
保存“上一个”对象的位置。在此情况下,“上一个”和“下一个”并不一定意味着该对象在文件中彼此相继出现。 第一个对象有prev = 0
。最后一个对象没有后续对象,其位置保持为prev
。按父亲儿童排序数组
我该如何实现这样的排序?最初不知道对象的数量。
//My custom object
@interface MyObject : NSObject
@property (nonatomic, assign) NSInteger loc, prev;
@end
//In the implementation of some other class
NSMutableArray *array = [NSMutableArray new];
{// order should be 6
MyObject *obj = [MyObject new];
obj.loc = 3000;
obj.prev = 111;
[array addObject:obj];
}
{// order should be 2
MyObject *obj = [MyObject new];
obj.loc = 2000;
obj.prev = 222;
[array addObject:obj];
}
{// order should be 4
MyObject *obj = [MyObject new];
obj.loc = 333;
obj.prev = 4000;
[array addObject:obj];
}
{// order should be 1
MyObject *obj = [MyObject new];
obj.loc = 222;
obj.prev = 5000;
[array addObject:obj];
}
{// order should be 5
MyObject *obj = [MyObject new];
obj.loc = 111;
obj.prev = 333;
[array addObject:obj];
}
{// order should be 3
MyObject *obj = [MyObject new];
obj.loc = 4000;
obj.prev = 2000;
[array addObject:obj];
}
{// order should be 0
MyObject *obj = [MyObject new];
obj.loc = 5000;
obj.prev = 0;
[array addObject:obj];
}
数组包含什么? – 2013-02-04 11:01:17
对象,每个对象都有其ID和父ID。 –
这是一个很奇怪的问题。你知道哪一段是最后一段吗?或者第一个? – Sulthan