快速排序
void quicksort(int data,int low,int high)
}if(a[k]!=a[i])}}
冒泡法:
void maopao(int a,int num)//num元素個數}}
歸併排序:
插入排序
//#include "stdafx.h"
#includeusing namespace std;
#define length(arr) (sizeof(arr)/sizeof(arr[0]))
void output(int arr,int n)
arr[j]=temp;
} }}int _tmain(int argc, _tchar* argv)
; int n=length(a);
output(a,n);
insert_sort(a,n);
output(a,n);
getchar();
return 0;
}
各類排序演算法比較
排序演算法 重點時間複雜度 穩定性直接插入排序 將待插入元素插入到已有序序列中的某個合適位置,得到新有序序列 最壞情況下o n n y折半插入排序 在決定當前元素插入位置時不採用插入查詢的方式,而是二分查詢 相比直接插入,比較的次數明顯減半,但移動的次數沒有減少。所以還是o n n y二路插入排序 ...
各類排序演算法比較分析
基本上排序演算法,基於選擇的排序除了希爾,快排,歸併,堆排序之外沒啥實用性,只不過是練手的工具罷了,像 o n 2 這樣過高的時間複雜度,已經失去了它的實用意義了 排序類別 排序演算法 平均時間複雜度 最好情況 時間複雜度 最壞情況 時間複雜度 空間複雜度 穩定性適用場景 交換排序 氣泡排序 o n...
各類排序演算法的比較 摘抄
按平均時間將排序分為四類 1 平方階 o n2 排序 一般稱為簡單排序,例如直接插入 直接選擇和氣泡排序 2 線性對數階 o nlgn 排序 如快速 堆和歸併排序 3 o n1 階排序 是介於0和1之間的常數,即0 1,如希爾排序 4 線性階 o n 排序 如桶 箱和基數排序。各種排序方法比較 簡單...