/**
* 插入排序
* 時間複雜度o(n2)
* @param array原地排序演算法
*/public void insertsort(int array)
array[position] = present;}}
* 合併排序
* o(nlogn)
* @param array
* @param left 第乙個索引
* @param right 最後乙個索引
*/public void mergesort(int array,int left,int right)else
}while(l/**
* 堆排序
* 原地排序且o(nlogn)
* @param array
*/public void heapsort(int array)
}/**
* 構建最大堆
* @param array
*/public void buildheap(int array)
}/**
* * @param array 陣列
* @param index 陣列中的索引
* @param length 樹中元素個數
*/public void heapify(int array,int index,int length)
if((2*present+2)largest)
if(largest_index!=present)else
}array[present]=value;
}/**
* 最壞時間o(n2)----在陣列已經排好序時發生
* o(nlogn)
* @param array
* @param p
* @param r
*/public void quicksort(int array,int p,int r)
}public int partition(int array,int p,int r)
}exchange(array,i+1,r);
return i+1;
}public void exchange(int array,int p,int q)
插入排序 合併排序 堆排序和快速排序
1 插入排序 2 時間複雜度o n2 3 param array原地排序演算法 4 5public void insertsort int array 13 array position present 14 15 1617 1819 20 21 合併排序 22 o nlogn 23 param a...
插入排序,快速排序,堆排序,歸併排序
插入排序 void insert sort int arry,int length 快速排序 int quick adj int arry,int low,int high else if arry high low 2 arry low arry high low 2 arry high arry...
插入排序 歸併排序 堆排序
include void insertion sort int arr,int len arr j 1 temp int main int n 5 insertion sort a,n for int i 0 iprintf d a i includevoid merge sort recursiv...