排序
排序
搞么子啊小子
这个作者很懒,什么都没留下…
展开
-
poj 2388 Who's in the Middle
Who's in the MiddleTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 31149 Accepted: 18073DescriptionFJ is surveying his herd to find the most average cow原创 2014-07-07 21:33:51 · 750 阅读 · 0 评论 -
直接选择排序
直接选择排序基本思想:每一趟在n-i+1(i1,2,...,n-1)个记录中选出最小的记录,并与第i个记录交换。代码实现:#include#includeusing namespace std;int n;int Select(int a[],int k){ int i,minx,t; for(i=k;i<=n;i++) { i原创 2015-01-12 11:20:51 · 573 阅读 · 0 评论 -
冒泡排序
#include#includeusing namespace std;int n;void Sort(int a[]){ int i,j,t; for(i=1;i<=n-1;i++) for(j=i;j<=n-i;j++) { if(a[j+1]<a[j]) { t原创 2015-01-12 11:19:22 · 488 阅读 · 0 评论 -
希尔排序
希尔排序基本思想:先将整个待排序列分割成若干子序列分别进行直接插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。代码实现:#include#includeusing namespace std;int n;void ShellInsert(int a[],int k){ int i,j; for(i=k+1;i<=n;i++)原创 2015-01-12 11:18:57 · 612 阅读 · 0 评论 -
poj 2299 Ultra-QuickSort
Ultra-QuickSortTime Limit: 7000MS Memory Limit: 65536KTotal Submissions: 39436 Accepted: 14214DescriptionIn this problem, you have to analyze a particular sorting原创 2014-07-09 19:39:30 · 631 阅读 · 0 评论 -
hdu 1872 稳定排序
稳定排序Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3723 Accepted Submission(s): 1463Problem Description大家都知道,快速排序是不稳定的排序方法。如果对原创 2014-07-30 07:43:38 · 494 阅读 · 0 评论 -
hdu 1031 Design T-Shirt
Design T-ShirtTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5745 Accepted Submission(s): 2659Problem DescriptionSoon after原创 2014-07-29 19:33:40 · 748 阅读 · 0 评论 -
快速排序
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。该方法的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。 虽然快速排序称为分治法,但分转载 2014-07-29 16:26:40 · 536 阅读 · 0 评论 -
归并排序
归并排序是用分治思想,分治模式在每一层递归上有三个步骤: 分解:将n个元素分成个含n/2个元素的子序列。 解决:用合并排序法对两个子序列递归的排序。 合并:合并两个已排序的子序列已得到排序结果。算法很其的关键应该在如何合并上,这一点算法导论上讲的很清楚。void Merge(int Left,int Middle,int Right){转载 2014-07-09 19:59:31 · 645 阅读 · 0 评论 -
sort函数用法
头文件:#include using namespace std;1.默认的sort函数是按升序排序。 sort(a,a+n); //两个参数分别为待排序数组的首地址和尾地址2.可以自己写一个cmp函数,按特定意图进行排序。例如 :1).对数组a降序排序int cmp( const int &a, const int &b ){原创 2014-07-07 21:41:37 · 889 阅读 · 0 评论 -
poj 2367 Genealogical tree
Genealogical treeTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2858 Accepted: 1924 Special JudgeDescriptionThe system of Martians' blood relations原创 2014-07-28 21:12:08 · 638 阅读 · 0 评论 -
hdu 1285 确定比赛名次
确定比赛名次Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11664 Accepted Submission(s): 4644Problem Description有N个比赛队(1 I原创 2014-07-28 18:39:01 · 865 阅读 · 2 评论 -
拓扑排序
一、概述 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若 ∈E(G),则u在线性序列中出现在v之前。 通常,这样的线性序列称为满足拓扑次序(TopoiSicai Order)的序列,简称拓扑序列。注意: ①若将图中顶点按拓扑次序排成一行,则图中所有的有向边均转载 2014-07-28 16:30:35 · 717 阅读 · 0 评论 -
直接插入排序
直接插入排序基本思想:假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。代码实现:#include#includeusing namespace std;int n;void InsertSort(int a[]){原创 2015-01-12 11:10:47 · 598 阅读 · 0 评论