排序
wlxsq
美丽的风景总是在远方
展开
-
HDU-1236-排名
#include#include#include#include#include#include#include#include#includeusing namespace std;/* 题目很简单,考查的就是结构体自定义排序问题;*/int n,m,G,t,q;int score[15];// 定义结构体;typedef struct{ cha原创 2015-07-14 18:13:50 · 797 阅读 · 0 评论 -
【结构体排序】HDU1084 What Is Your Grade?
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1084#includeusing namespace std;const int N=1050;struct node{ int n,h,m,s; int id;}stu[N];bool cmp(node a,node b){ if(a.n!=b.n) retur原创 2017-09-06 20:43:11 · 334 阅读 · 0 评论 -
【排序】HDU1872稳定排序
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1872Problem Description大家都知道,快速排序是不稳定的排序方法。如果对于数组中出现的任意a[i],a[j](i某高校招生办得到一份成绩列表,上面记录了考生名字和考生成绩。并且对其使用了某排序算法按成绩进行递减排序。现在请你判断一下该排序算法是否正确,如原创 2016-04-24 16:57:54 · 574 阅读 · 2 评论 -
【结构体排序】HDU1009FatMouse' Trade
Problem DescriptionFatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean.The warehouse has N rooms. The i-th room con原创 2016-03-22 16:05:05 · 287 阅读 · 0 评论 -
【HDU】2083简易版之最短距离
Problem Description寒假的时候,ACBOY要去拜访很多朋友,恰巧他所有朋友的家都处在坐标平面的X轴上。ACBOY可以任意选择一个朋友的家开始访问,但是每次访问后他都必须回到出发点,然后才能去访问下一个朋友。比如有4个朋友,对应的X轴坐标分别为1, 2, 3, 4。当ACBOY选择坐标为2的点做为出发点时,则他最终需要的时间为 |1-2|+|2-2|+|3-2|+|4-原创 2016-03-08 18:33:32 · 457 阅读 · 0 评论 -
【radixSort】
基数排序其实很容易理解,根据每个位置的值按序排列,详细可以看百度百科------------基数排序-百度百科代码:#include#include#includeusing namespace std;void aToQueue(int *a,queueque[],int n,int ans) // 按位数相同进入队列;{ for(int i=0;i<原创 2016-03-02 21:37:46 · 475 阅读 · 0 评论 -
【shellSort】
shell排序其实是优化的插入排序,分组的插入排序;按照一定的增量,进行插入排序;#includeusing namespace std;void shellSort(int *a,int left,int right){ int d=(left+right)>>1; // 增量; while(d>0){ for(int i=0;i<原创 2016-03-02 20:22:01 · 440 阅读 · 0 评论 -
【quickSort】
百度百科解释很详细http://baike.baidu.com/link?url=-5qhVx5CUYHVVEV-dcYD8GIrFRYeq1XfvWETI9_8jh-dmzstsWn4fea4JBdjTpffQLuaEmIavUOrluPzdzPVtK#includeusing namespace std;void Qsort(int a[],int low,int high){原创 2016-02-29 21:26:38 · 668 阅读 · 0 评论 -
【heapSort】
链接:http://blog.csdn.net/touch_2011/article/details/6767673第一步:建堆,形成大(小)根堆;第二步:将堆顶与最后一个交换,并调整根堆;第三步:重复第二步,直到结束;时间复杂度O(nlogn) 适合数据量较大的排序,效果明显;#includeusing namespace std;void MaxHeap(int *原创 2016-03-02 11:38:23 · 488 阅读 · 0 评论 -
【mergeSort】
详细解释:http://blog.csdn.net/yinjiabin/article/details/8265827 一张图诠释归并排序!!!原创 2016-03-02 17:08:54 · 503 阅读 · 0 评论 -
HDU1394-Minimum Inversion Number-归并排序求最小逆序数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394理解了归并排序,学习了一下别人的博客,有把这个题目给敲了一遍。。。这道题我用归并排序是我目前过的最快的算法62ms。。。当然,在我得博客里也有有线段树和树状数组求逆序数的模板;这里我就没有离散化,还不能算是所有逆序数的模板。。。对于归并排序不太了解的我推荐一个博客,里面有很详细的图原创 2015-08-07 10:49:55 · 770 阅读 · 0 评论 -
HDU-1225-Football Score
#include#include#include#include#include#include#include#include#includeusing namespace std;/* 这道题其实很简单,用结构体排序,便可以处理;可是大家可能不知道怎么让队名和结构体内的元素 对应起来,这是个关键;所以这里我就写了个Find()函数;如果在结构体中有找到这个队原创 2015-07-15 13:41:20 · 652 阅读 · 0 评论 -
HDU-1106-排序
#include#include#include#include#include#include#include#include#includeusing namespace std;/* 我觉得这题如果能够更好的使用string函数库里的函数,想必会很简单; 所以说,掌握必要的函数是很有必要的; s.substr(a,b) 表示在字符串s中从第a个原创 2015-07-14 19:29:33 · 613 阅读 · 0 评论 -
HDU-1040- As Easy As A+B-选择排序+冒泡排序
其实贴这道题目是为了给新手介绍一下这几个简单排序方法;首先我们看一下选择排序,思路很简单,就是从第一个开始每次定位一个数,和数组中最大(最小)的数交换一下位置;不过这是个不稳定排序算法;#includeint a[1005];// 交换函数;void Swap(int &a,int &b){ int temp=a; a=b; b=temp;}int原创 2015-07-14 16:40:52 · 732 阅读 · 0 评论 -
HDU-1031-Design T-Shirt
#include#include#include#include#include#include#include#include#includeusing namespace std;/* 题目的意思是告诉你n,m,l,分别表示多少个人参与,多上种元素,最后选多少种元素; 选取元素的条件就是每个元素最后的得分得尽可能高; 所以很显然题目就是让你求每个元素原创 2015-07-14 18:55:03 · 632 阅读 · 0 评论 -
HDU-1862-EXCEL排序
#include#include#include#include#include#include#include#include#includeusing namespace std;/* 看一下数据量十万,所以普通的冒泡排序什么的肯定是不行的了,快排轻松搞定; 题目说C=1,2,3,分三种情况排序,所以我们就定义三个sort排序,用switch-case搞定选原创 2015-07-14 20:11:28 · 578 阅读 · 0 评论 -
【结构体排序】HDU1234开门人和关门人
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1234#includeusing namespace std;const int N=10005;typedef struct time{ int h,m,s;}Node;struct node{ string s; Node in; Node out;}stu[N];bool原创 2017-09-12 16:36:54 · 333 阅读 · 0 评论