标签:时间 void class while 核心 时间复杂度 分析 log 一个
核心代码
1 void InsertSort(int arr[], int len)
2 {
3 int i;//无序数组的下标
4 int j;//有序数组的下标
5 int temp;//保存无序数组第一个元素的值
6
7 assert(arr!=NULL || len<1);
8 if(1 == len)
9 {
10 return;
11 }
12
13 for(i=0; i<len; ++i)
14 {
15 j = i-1;
16 temp = arr[i];
17 while(temp<arr[j] && j>-1)
18 {
19 arr[j+1] = arr[j];//把大的元素放到后面
20 --j;
21 }
22 arr[j+1] = temp;//把无序数组的第一个值放到正确的位置
23 }
24 }
算法分析:
最好时间复杂度:O(n)
平均时间复杂度:O(n^2)
最坏时间复杂度:O(n^2)
空间复杂度:O(1)
稳定性:稳定
标签:时间 void class while 核心 时间复杂度 分析 log 一个
原文地址:http://www.cnblogs.com/chen-cai/p/7679592.html