[GRYZ2015]快排练习
生活随笔
收集整理的這篇文章主要介紹了
[GRYZ2015]快排练习
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
用快排完成n(n<=100)個(gè)人年齡的從小到大的排序,要求出生年相同的按月排。
?輸入:第一行n個(gè)人
???????? 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.沒什么別的,只是想說(shuō)當(dāng)時(shí)快排的時(shí)候很不理解,都不會(huì)寫,寫程序就用PASCAL自帶的排序,如今晚上小測(cè)驗(yàn)修改后的快排可以一遍AC感覺也是蠻欣慰的了。好像隨著時(shí)間的推移,學(xué)到的東西越來(lái)越多,一些以前的東西更好理解。有時(shí)不必過分拘泥于現(xiàn)在,向下走,或許回頭看看現(xiàn)在不算什么。
轉(zhuǎn)載于:https://www.cnblogs.com/yangqingli/p/4931126.html
總結(jié)
以上是生活随笔為你收集整理的[GRYZ2015]快排练习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS选择器笔记,element ele
- 下一篇: rabbitmq 集群搭建