插入排序(從大到小排列)###
插入排序的算法思路是:假定數(shù)組的0位置是已經(jīng)排列好的,是有序的驶悟。然后從1位置開始和0位置開始比較焊夸,如果1位置的數(shù)比0位置的小苛败,說明0和1位置是已經(jīng)按從大到小排列好的水孩。然后以此類推镰矿,在從2位置開始比較。2位置先和1位置比較荷愕,如果2位置大于1位置的元素,開始移動(dòng)棍矛,直到不大于的時(shí)候安疗,停止,以此類推够委。
- (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);
}
輸出結(jié)果
2016-04-21 18:50:45.252 RLMZ[4253:451340] (
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
)