一个小程序
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// C-实现
// int a[5]={9,8,10,2,20};
// int key,j;
// for (int i=1; i<5; i++) {//直接插入排序
// key=a[i];
// for (j=i-1; j>=0&&a[j]>key; j--) {
// a[j+1]=a[j];
// }
// a[j+1]=key;
// }
// for (int i=0; i<5; i++) {
// NSLog(@"%i",a[i]);
// }
// OC实现
NSMutableArray *array=[NSMutableArray arrayWithObjects:@9,@8,@10,@2,@20, nil];
id key;
NSInteger j;
for (NSInteger i=1; i<array.count; i++) {
key=[array objectAtIndex:i];//取到每一个待插入的数据,从a[1]开始查找
for (j=i-1; j>=0&&array[j]>key; j--) {
// 如果之前的数比key大,就将这个数向后移动一个位置,留出空来让key插入
// 就像整牌一样
[array exchangeObjectAtIndex:j+1 withObjectAtIndex:j];//交换
}
[array replaceObjectAtIndex:j+1 withObject:key];
}
for (key in array) {
NSLog(@"%@",key);
}
}
return 0;
}