插入排序
加入数组A中有元素数为5,则排序伪代码为:
int j = for 1 to 5
key = A[j];
i = j - 1;
for ;i >= 0 && A[i]>key;i-- {
A[i+1] = A[i];
}
A[i+1] = key;
NSMutableArray *arr = @[@32, @34, @88, @2, @44].mutableCopy;
NSInteger key;
NSInteger i;
for (NSInteger j = 1; j < arr.count; j++)
{
key = [arr[j] integerValue];
i = j - 1;
for (; i >= 0 && [arr[i] integerValue] < key;i-- ){
arr[i + 1] = arr[i];
}
arr[i+1]= @(key);
}
选择排序
NSMutableArray *arr = @[@32, @34, @88, @2, @44].mutableCopy;
for (int i = 0; i < arr.count - 1; i++) {
int flag = i;
for (int j = i; j < arr.count; j++) {
NSLog(@"%d -- %d -- %d", i, j, flag);
if ([arr[flag] integerValue] - [arr[j] integerValue] > 0) {
flag = j;
}
}
NSString * tem;
tem = arr[flag];
arr[flag] = arr[i];
arr[i] = tem;
}
NSLog(@"%@", arr);