插入排序(从大到小排列)###
插入排序的算法思路是:假定数组的0位置是已经排列好的,是有序的。然后从1位置开始和0位置开始比较,如果1位置的数比0位置的小,说明0和1位置是已经按从大到小排列好的。然后以此类推,在从2位置开始比较。2位置先和1位置比较,如果2位置大于1位置的元素,开始移动,直到不大于的时候,停止,以此类推。
- (void)insertSort{
NSMutableArray * insert =[NSMutableArray arrayWithObjects:@6,@1,@2,@7,@9,@3,@4,@5,@10,@8, nil];
for (NSInteger i = 1; i<insert.count;i++){
if (insert[i] > insert[i-1]){
NSNumber * temp = insert[i];
NSInteger j = i;
while (j>0&&temp>insert[j-1]) {
insert[j]=insert[j-1];
j--;
}
insert[j]=temp;
}
}
NSLog(@"%@",insert);
}
输出结果
2016-04-21 18:50:45.252 RLMZ[4253:451340] (
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
)