根据产品价格或者销售量查询的排序算法-------我所开发程序遇到的问题
- (NSMutableArray *)compareList:(NSMutableArray *)list IS_UP:(BOOL)isUp IS_PRICE:(BOOL)isPrice
{
NSMutableArray *finalList = [[[NSMutableArrayalloc] init] autorelease];
if (isPrice == YES) {
NSMutableArray *RecommandCloth_list = [[NSMutableArrayalloc] initWithArray:list];
int count = RecommandCloth_list.count;
NSLog(@"count:%d",count);
RecommandClothItem * tempRecommand_small;
RecommandClothItem * tempRecommand;
while (RecommandCloth_list.count >0) {
tempRecommand_small = [RecommandCloth_list objectAtIndex:0];
for (int i=1; i<RecommandCloth_list.count; i++) {
tempRecommand = [RecommandCloth_list objectAtIndex:i];
NSLog(@"tempRecommand.price:%@",tempRecommand.price);
NSLog(@"tempRecommand_small.price:%@",tempRecommand_small.price);
if (isUp == YES) {
if (tempRecommand.price.intValue < tempRecommand_small.price.intValue) {
tempRecommand_small = tempRecommand;
}
}
else {
if (tempRecommand.price.intValue > tempRecommand_small.price.intValue) {
tempRecommand_small = tempRecommand;
}
}
}
[finalList addObject:tempRecommand_small];
for (int j =0; j<RecommandCloth_list.count;j++) {
RecommandClothItem *temp_RecommandClothItem = [RecommandCloth_listobjectAtIndex:j];
if ([tempRecommand_small.recommandCloth_idisEqualToString:temp_RecommandClothItem.recommandCloth_id]) {
[RecommandCloth_list removeObject:temp_RecommandClothItem];
}
}
NSLog(@"RecommandCloth_list.count:%d",RecommandCloth_list.count);
}
}
else{
NSMutableArray *RecommandCloth_list = [[NSMutableArrayalloc] initWithArray:list];
int count = RecommandCloth_list.count;
NSLog(@"count:%d",count);
RecommandClothItem * tempRecommand_small;
RecommandClothItem * tempRecommand;
while (RecommandCloth_list.count >0) {
tempRecommand_small = [RecommandCloth_list objectAtIndex:0];
for (int i=1; i<RecommandCloth_list.count; i++) {
tempRecommand = [RecommandCloth_list objectAtIndex:i];
NSLog(@"tempRecommand.price:%@",tempRecommand.price);
NSLog(@"tempRecommand_small.price:%@",tempRecommand_small.price);
if (isUp == YES) {
if (tempRecommand.sales_volume.intValue < tempRecommand_small.sales_volume.intValue) {
tempRecommand_small = tempRecommand;
}
}
else {
if (tempRecommand.sales_volume.intValue > tempRecommand_small.sales_volume.intValue) {
tempRecommand_small = tempRecommand;
}
}
}
[finalList addObject:tempRecommand_small];
for (int j =0; j<RecommandCloth_list.count;j++) {
RecommandClothItem *temp_RecommandClothItem = [RecommandCloth_listobjectAtIndex:j];
if ([tempRecommand_small.recommandCloth_idisEqualToString:temp_RecommandClothItem.recommandCloth_id]) {
[RecommandCloth_list removeObject:temp_RecommandClothItem];
}
}
NSLog(@"RecommandCloth_list.count:%d",RecommandCloth_list.count);
}
}
return finalList;
}