排序
文章平均质量分 60
morninghapppy
这个作者很懒,什么都没留下…
展开
-
qsort函数
做题的时候总要用到排序,以前总是用冒泡排序比较多,或者是用用插入排序等简单的排序方法,对于数据规模小的还行,大规模的就不行了; 暑假培训时,学长讲了几种算法,在这里总结几种: 一、qsort 快排 用分治的思想,每一次找到一个基准点( r ),例如:1 3 6 4 7 1原创 2011-08-19 20:13:39 · 934 阅读 · 0 评论 -
sort函数
sort用起来很方便的排序函数~ cmp函数和qsort中的比较像 MSDN中的定义: template void sort(RanIt first, RanIt last); //--> 1) template void sort(RanIt fi原创 2011-08-19 20:47:12 · 1714 阅读 · 0 评论 -
zoj 3317
注意输入的数据可能是乱序的,自己要按 check in 的顺序进行排序~ #include #include struct renter { int in; int leave; int num; int room; }r[100]; int cmp1(const v原创 2011-08-19 20:59:31 · 628 阅读 · 0 评论 -
MergeSort归并排序
MergeSort 描述:MergeSort ( a , b) MergeSort ( a, ( a + b ) / 2 ); // 把问题分为两部分,先对数列的前一半进行排序,然后对后一半排序原创 2011-08-19 20:27:01 · 382 阅读 · 0 评论 -
快排算法
很早之前看学姐写过的一个快排算法,当时琢磨了很久来着,现在我们开的有 算法设计与分析 这门课,书上有讲快排的,琢磨了好一会儿嘞^_^ 具体代码如下啦: #include #include // 快排算法平均时间复杂度为 O(nlogn), 最坏情况下为 O(n^2) #define Type int Type a[10]={0}; void Swap( Type &x,原创 2012-04-05 13:49:14 · 803 阅读 · 0 评论 -
线性时间选择
查找 n 个元素中第 k 小元素,其基本思路是对输入数组进行递归划分,模仿快排的算法,不同点在于,它只对划分出的子数组之一进行递归处理。可认为问题是在 O(n) 的时间内得到解决的。 此算法也比较常用于求中位数 #include #include // 线性时间选择, 查找数组中第 k 小元素 // 基于快速排序算法,每次划分后只对其中一个子数组进行递归排序 #de原创 2012-04-05 13:59:53 · 481 阅读 · 0 评论