算法排序---选择排序
2016-06-07 本文已影响0人
明月倚深秋
//选择排序:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕
//从第0位置开始,依次让第0位置数据和后面每一个位置数字比较,找出最小的数字,放在第0位置
//依次向后排序
static NSArray * selectSort(NSArray *unsortedArr)
{
NSMutableArray *sortedArr = [NSMutableArray arrayWithArray:unsortedArr];
//排序循环总次数
for (int i = 0; i < sortedArr.count; i ++) {
//取出当前位置的数据,和该数据后面的数据进行大小比较
for (int j = i + 1; j < sortedArr.count; j ++) {
int a = [sortedArr[i] intValue];
int b = [sortedArr[j] intValue];
//如果该位置数据大于其他位置数据,把小的数据放在这个位置,继续拿这个位置的数据和其他数据比较,直到该位置数据为从该位置开始到结束位置中的最小数据
if (b < a) {
[sortedArr exchangeObjectAtIndex:i withObjectAtIndex:j];
}
}
}
return sortedArr;
}