排序
文章平均质量分 76
大千SS
我爱大风和烈酒,也爱孤独和自由。
展开
-
EXCEL排序(hdu 1862)
其实这个题吧,就是发出来玩玩,会用sort就很easy了,有一个小小的知识点:比较字符串字典序的大小用strcmp函数。strcmp(a,b)<0说明a的字典序小于b的字典序。上题:Input 测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有 N 行,每行包含一条学生纪录。每...原创 2018-06-05 11:55:54 · 229 阅读 · 0 评论 -
归并排序(包含逆序数对的个数51Nod1019)
归并排序是效率很好的排序方式,和快排效率一样高,但在稳定性上优于快排,下面我们来介绍归并排序。归并排序运用递归将序列不断二分(其原理就是分治),就像一棵树不断向下分支,最后分到只剩一个元素,这样这个元素就可当做有序的,因为只有一个元素嘛。然后是合并,怎么分出来就怎么合并回去,不过既然是排序,那么合并的时候就需要比较一下大小了。下面为了更好的理解,我们来看一张图片。(这张图是借用的,很感谢制图人)这...原创 2018-06-12 11:03:28 · 216 阅读 · 1 评论 -
HDU 1872 稳定排序
这个题说起来也很尴尬,唉,写了可长时间,No,是WA了可长时间,改不对,之后看了同学的代码,这题思路都是这样,写的方法不一样。 大家都知道,快速排序是不稳定的排序方法。 如果对于数组中出现的任意a[i],a[j](i<j),其中a[i]==a[j],在进行排序以后a[i]一定出现在a[j]之前,则认为该排序是稳定的。 某高校招生办得到一份成绩列表,上面记录了考生名字和考生成绩。并且对其...原创 2018-06-05 23:24:22 · 684 阅读 · 2 评论 -
插入排序
#include<cstdio>void InsertSort(int a[],int n){ int i,j; for(i=2;i<=n;i++){ if(a[i-1]>a[i]){ a[0]=a[i];//用a[0]来存储要插入的值 a[i]=a[i-1]; for(j=i-2;a[j]>a[0];j--){ a[j+1...原创 2019-01-05 21:57:21 · 179 阅读 · 0 评论 -
选择排序
#include<cstdio>void SelectSort(int a[],int n){ for(int i=0;i<n-1;i++){ int mix=i; for(int j=i+1;j<n;j++){ if(a[j]<a[mix]){ mix=j; } } if(mix!=i){ int t=a[i];...原创 2019-01-05 22:12:19 · 153 阅读 · 0 评论 -
冒泡排序(从前到后、从后到前)
#include<cstdio>#include<algorithm>using namespace std;void BubbleSort(int a[],int n)//从小到大 { for(int i=0;i<n-1;i++){ for(int j=0;j<n-1-i;j++){//从前向后比较,将最大的移动到最后面,后面逐渐有序 ...原创 2019-01-05 22:27:22 · 3083 阅读 · 0 评论