我有一個自定義對象數組。這些對象表示二進制文件中的段。 屬性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