排序算法整理-帶C代碼

排序算法


一、插入排序(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)


代碼:






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章