美文网首页程序员iOS学习笔记
Objective-C实现直接插入排序

Objective-C实现直接插入排序

作者: 旅行的光 | 来源:发表于2016-03-28 23:08 被阅读155次

一,直接插入排序简介

直接插入排序是一种较为简单的排序方法,其实现思想是每次将一个未排序的元素插入到已经排好序的元素中去。

二,时间复杂度分析

1,最差时间复杂度O(n^2)
2, 平均时间复杂度O(n^2)

三,实现方法

1,将数组中的第一个元素作为一个已排序数
2,将数组中的第二个数与第一个数比较后插入已排序数中
3,依次将数组剩余的未排序数插入已排序的元素中

四,Objective-C实现

-(void) insertionSort :(NSMutableArray *) array {
        
    if (array.count == 0) {
        return;
    }
    
    
    for (int i = 1; i < array.count; i++) {
        int j = i;
        
        int target = (int)[array[i] integerValue];
        
        while (j > 0 && target < (int)[array[j-1] integerValue]) {
            array[j] = self.array[j-1];
            j--;
        }
        
        array[j] = [NSNumber numberWithInt:target];
    }

}

相关文章

网友评论

    本文标题:Objective-C实现直接插入排序

    本文链接:https://www.haomeiwen.com/subject/hwzjlttx.html