![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
守望拼搏
计算机行业的小角色
展开
-
C++实现快速排序
#include#includeusing 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 · 424 阅读 · 0 评论 -
C++,希尔排序
#includeusing 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 · 535 阅读 · 0 评论 -
C++实现小根堆
#include#includeusing 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 · 5574 阅读 · 0 评论