
数据结构
守望拼搏
计算机行业的小角色
展开
-
C++实现快速排序
#include #include using namespace std; /* *冒泡排序算法平均时间复杂度为O(nlog(n)),最坏情况O(n^2) */ template void swap(const T &m,const T &n){ T temp; temp=m; m=n; n=temp; } int part(vector &Sort,int a,in原创 2014-04-18 21:53:25 · 447 阅读 · 0 评论 -
C++,希尔排序
#include using namespace std; /* *希尔排序也是缩小增量排序,其时间复杂度较插入排序要好,因为在最后进行插入排序之前已经基本有序了; *插入排序的时间复杂度为O(n^2),而希尔排序能缩小到O(n^3/2) */ //template //模版传递指针和数组需注意 //void shell_sort(const *arr(T),const T &n,c原创 2014-04-18 23:39:54 · 562 阅读 · 0 评论 -
C++实现小根堆
#include #include using namespace std; /* *堆排序算法适用于海量元素,时间复杂度为O(nlog(n)),辅助空间也只需O(1); *有大根堆和小根堆两种,大根堆根节点比两子节点大;小根堆相反。 *此例说明的是小根堆 */ template void swap(const T &a ,const T &b){ T t; t=a;原创 2014-04-20 00:01:23 · 5740 阅读 · 0 评论