排序算法
一、插入排序(Insert Sorting)
原理:
插入排序的原理:從序列中第二個數A開始,將A,插入前面已經排好的序列中,形成一個新的排序好的序列,以此類推到最後一個元素。
運行時間:
1. 輸入。正序 or 逆序。
2.輸入的大小。
最壞情況:逆序。
時間複雜度:O(n^2)。算術級數。
代碼:
void insertSort(int *array, int len)
{
int i, j, temp;
for(i = 1; i < len; i ++)
{
temp = array[i];
for(j = i - 1; j >= 0; j --)
{
if(array[j] > temp)
{
array[j + 1] = array[j];
}else
{
break;
}
}
array[j + 1] = temp;
}
}
一、歸併排序(Insert Sorting)
定義:建立在歸併操作上的一種有效的排序算法。
思想:分而治之(Divide and Conquer)
代碼: