用快排完成n(n<=100)个人年龄的从小到大的排序,要求出生年相同的按月排。

输入:第一行n个人

2到n+1行出生  年  月(1992 9)

输出:年龄的从小到大的排序。

type ss=recordnian,yue:longint;end;var a:array[1..10000]of ss;n,i:longint;procedure sort(l,r:longint);
var i,j,xn,xy:longint;y:ss;
begini:=l;j:=r;xn:=a[(l+r) div 2].nian;xy:=a[(l+r) div 2].yue;repeatwhile (a[i].nian<xn)or((a[i].nian=xn)and(a[i].yue<xy))do inc(i);while (a[j].nian>xn)or((a[j].nian=xn)and(a[j].yue>xy))do dec(j);if i<=j thenbeginy:=a[i];a[i]:=a[j];a[j]:=y;inc(i);dec(j);end;until i>j;if i<r then sort(i,r);if j>l then sort(l,j);
end;beginassign(input,'birth.in');reset(input);assign(output,'birth.out');rewrite(output);readln(n);for i:=1 to n doreadln(a[i].nian,a[i].yue);sort(1,n);for i:=1 to n dowriteln(a[i].nian,' ',a[i].yue);close(input);close(output);
end.

没什么别的,只是想说当时快排的时候很不理解,都不会写,写程序就用PASCAL自带的排序,如今晚上小测验修改后的快排可以一遍AC感觉也是蛮欣慰的了。好像随着时间的推移,学到的东西越来越多,一些以前的东西更好理解。有时不必过分拘泥于现在,向下走,或许回头看看现在不算什么。

转载于:https://www.cnblogs.com/yangqingli/p/4931126.html

[GRYZ2015]快排练习相关推荐

  1. 快速排序(快排)--->注释超详细

    基本思想:         1.先选取一个基准值(一般选取数组第一个元素).         2.以第一步选取的基准值为标准,然后从最后一个数值开始一步步向前走将数字与基准值进行比较,如果该值大于基准 ...

  2. java快排算法解读,java 快排的思路与算法

    java 快排的思路与算法 有时候面试的时候的会问道Arrays.sort()是怎么实现的,我以前根本不知道是什么东西,最近点进去看了一下.直接吓傻, //看到这个时候还是比较淡定的,可怕的事情来了. ...

  3. java 快排_八大排序-快速排序(搞定面试之手写快排)

    概要 快速排序由C. A. R. Hoare在1960年提出,是八大排序算法中最常用的经典排序算法之一.其广泛应用的主要原因是高效,核心算法思想是分而治之.快速排序经常会被作为面试题进行考察,通常的考 ...

  4. 排序(一)归并、快排、优先队列等(图文具体解释)

    排序(一) 0基础排序算法 选择排序 思想:首先,找到数组中最小的那个元素.其次,将它和数组的第一个元素交换位置.再次.在剩下的元素中找到最小的元素.将它与数组的第二个元素交换位置. 如此往复,直到将 ...

  5. 快排递归非递归python_Python递归神经网络终极指南

    快排递归非递归python Recurrent neural networks are deep learning models that are typically used to solve ti ...

  6. ACdream 1099——瑶瑶的第K大——————【快排舍半,输入外挂】

    瑶瑶的第K大 Time Limit:2000MS     Memory Limit:128000KB     64bit IO Format:%lld & %llu Submit Status ...

  7. 冒泡链表排序java_链表排序(冒泡、选择、插入、快排、归并、希尔、堆排序)...

    以下排序算法的正确性都可以在LeetCode的链表排序这一题检测.本文用到的链表结构如下(排序算法都是传入链表头指针作为参数,返回排序后的头指针) struct ListNode { int val; ...

  8. python实现快排算法(quicksort)

    python实现快排算法(quicksort) 快速排序是对冒泡排序的一种改进.它的基本思想是:通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后 ...

  9. bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞

    没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...

最新文章

  1. 拖拽插入Table的列(I.E. ONLY)
  2. 面试题39:二叉树的深度、判断二叉树是不是平衡
  3. 再学 GDI+[79]: 区域(8) - Transform - 区域的 Matrix 变换
  4. 【洛谷4389】付公主的背包(生成函数,多项式运算)
  5. Java程序员时刻铭记的Git常用命令
  6. 拆分js文件_2021入门Webpack,看这篇就够了:Webpack.config.js 解析
  7. 设计模式:001面向对象设计原则
  8. 纪念我逝去的概率论基础
  9. python必背入门代码-你们都是怎么学 Python 的?
  10. 学生成绩查询c#语言,C#学生成绩查询系统.doc
  11. Linux下编译安装redis,详细教程
  12. 原生js预览ofd文件
  13. CodeBlocks下载安装的坑,无法编译成功
  14. 网络文章(摘录)_顺序
  15. 广州十日 --2006/3/18
  16. 华为部分通知气泡显示_华为P50已在路上,目前不受美国影响 | PS5价格曝光!
  17. java怎么计算时间差_请问java怎么计算时间差
  18. JS 获取第一个和最后一个,子节点、子元素
  19. saber软件安装后怎么打开_Saber2016安装包和安装详细安装步骤
  20. Rust编程语言入门教程(一)-什么是Rust

热门文章

  1. 制作一个表格,显示班级的学生信息。
  2. SpringBoot学习之@Configuration注解和@Bean注解
  3. 连接数据库时常用的工具类(一)-------C3P0XmlUtils
  4. windows服务守护进程bat脚本、windows窗体守护进程bat脚本
  5. Java多线程的几种实现方法
  6. ios开发多线程篇--异步加载网络图片GCD
  7. div模拟textarea自适应高度
  8. 2009年广东省大学生程序设计竞赛 J
  9. 如何安排vixta之三-Installing来源劈脸安排
  10. SAP FI模块与SD、MM的接口配置基本方法