用objective-c写一个插入法排序:
如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序就是排好序后的顺序,所以插入排序是稳定的。
- (void)sort:(NSMutableArray *)arr
{
for (int i =1; i < arr.count; i ++) {//首先遍历数组,从第二个元素开始选取来插入排序
NSInteger temp = [arr[i]integerValue];
for (int j = i -1; j >= 0 && temp < [arr[j]integerValue]; j --) {
arr[j + 1] = arr[j];
arr[j] = [NSNumbernumberWithInteger:temp];
}
}
NSLog(@"插入排序后:%@",arr);
}