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