oc实现选择排序

话不多说,选择排序就是通过遍历数组找出每次遍历数组的最小元素的下标,然后将其按顺序从第一位依次排列
比如一个原始数列:4,3,2,1
(找到最小的元素的下标3<值为1>,并将其下标对应的值放到第一位)
第一轮循环后:1,3,2,4
(找到最小的元素的下标2<值为2>,并将其下标对应的值放到第二位)依次类推
第二轮循环后:1,2,3,4
第三轮循环后:1,2,3,4
第四轮循环后:1,2,3,4

- (void)selectSort
{
     //self.array = @[@2,@4,@3,@1];
     NSMutableArray *mutableArray = [self.array mutableCopy];//oc数组中不能存储基本数据类型,所以快速赋值完成后,系统默认数组元素为NSNumber类型
    if (mutableArray == nil || [mutableArray count] == 0)
    {
        return;
    }
    for (int i = 0; i < [mutableArray count]; i++)
    {
        NSInteger minIdx = i;//默认最小值的索引为i
        for (int j = i+1; j < [mutableArray count]; j++)//通过循环寻找当前数组中最小值的索引值
        {
            if (NSOrderedAscending == [mutableArray[j] compare:mutableArray[minIdx]])//NSNumber类判断大小方法,这句话的意思是当mutableArray[j] 

你可能感兴趣的:(oc实现选择排序)