算法排序---选择排序

//选择排序:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕

//从第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;

}

你可能感兴趣的:(算法排序---选择排序)