一澎办,直接插入排序簡(jiǎn)介
直接插入排序是一種較為簡(jiǎn)單的排序方法赛惩,其實(shí)現(xiàn)思想是每次將一個(gè)未排序的元素插入到已經(jīng)排好序的元素中去造成。
二手蝎,時(shí)間復(fù)雜度分析
1榕莺,最差時(shí)間復(fù)雜度O(n^2)
2, 平均時(shí)間復(fù)雜度O(n^2)
三,實(shí)現(xiàn)方法
1棵介,將數(shù)組中的第一個(gè)元素作為一個(gè)已排序數(shù)
2钉鸯,將數(shù)組中的第二個(gè)數(shù)與第一個(gè)數(shù)比較后插入已排序數(shù)中
3,依次將數(shù)組剩余的未排序數(shù)插入已排序的元素中
四邮辽,Objective-C實(shí)現(xiàn)
-(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];
}
}