因為最近看了一點stl,所以用vector代替了陣列,從別的地方借鑑了很多,只是簡單的實現,也沒有做什麼優化,其實也不會
#include #include#includeusing namespace std;
void print(vectorv)
swap(v[left],v[high]);
quick_sort1(v,low,left-1);//左邊
quick_sort1(v,left+1,high);//右邊
}void quick_sort2(vector&v,int low,int high) //不交換的方法
v[left]=key;
quick_sort2(v,low,left-1);//左邊
quick_sort2(v,left+1,high);//右邊
}void merge(vector&v,int low,int mid,int high)
else if(r>high)
else if(a[l]<=a[r])
else
}}void merge_sort(vector&v,int low,int high) //歸併排序
void max_heap(vector&v,int begin,int end)
}}void heap_sort(vector&v)
}int main()
; vectorv(a,a+16);
bucket_sort(v);
print(v);
return 0;
}
希爾排序,堆排序,快速排序
插入排序的改進演算法,不穩定的排序演算法,空間複雜度為o 1 public static void shellsort int a 氣泡排序的改進演算法,不穩定的排序演算法 空間複雜度在o log2n 和o n 之間 時間複雜度在o n 和o n2 之間,平均時間複雜度為o nlog2n 而當陣列初...
希爾排序,快速排序,堆排序
最近在準備資料結構的考試,於是用部落格記錄下自己複習的過程。今天的內容是三種高階排序。希爾排序 當序列增量為incr k 2 t k 1 1時,時間複雜度為o n1.5 以序列增量分組,對每組進行大小調整。templatevoid shellinsert t elem,int n,int incr ...
希爾排序,堆排序,快速排序
希爾排序 最優情況下 時間複雜度為 o n 1.3 最差的情況下為 o n 2 增量序列的最後乙個增量值必須等於1 shell sort vector v1 堆排序 void heapadjust int a,int m,int n for i n i 1 i 快速排序 快排在樞紐選取時可以優化,三...