需要时可以贴上去用
void InsertSort(NSMutableArray *array) {
int i, j;
for (i = 1; i < [array count]; ++i) {
id temp = [[array objectAtIndex:i] copy];
for (j = i; j > 0 && [temp intValue] < [[array objectAtIndex:j - 1] intValue]; --j)
[array replaceObjectAtIndex:j withObject:[array objectAtIndex:j - 1]];
[array replaceObjectAtIndex:j withObject:temp];
}
}
void SelectSort(NSMutableArray *array) {
int i, j;
for (i = 0; i < [array count] - 1; ++i)
for (j = i + 1; j < [array count]; ++j)
if ([[array objectAtIndex:i] intValue] > [[array objectAtIndex:j] intValue]) {
id temp = [[array objectAtIndex:j] copy];
[array replaceObjectAtIndex:j withObject:[array objectAtIndex:i]];
[array replaceObjectAtIndex:i withObject:temp];
}
}
void BSelectSort(NSMutableArray *array) {
int i, j, high, low, m;
for (i = 1; i < [array count]; ++i) {
id temp = [[array objectAtIndex:i] copy];
low = 0;
high = i - 1;
while (low <= high) {
m = (low + high) / 2;
if ([[array objectAtIndex:m] intValue] > [temp intValue])
high = m - 1;
else
low = m + 1;
}
for (j = i - 1; j >= high + 1; --j)
[array replaceObjectAtIndex:j + 1 withObject:[array objectAtIndex:j]];
[array replaceObjectAtIndex:high + 1 withObject:temp];
}
}