喵哈哈村的代码传说 第一章 冒泡排序
“敢问这位兄台,为何这喵哈哈广场围了这么多人?”,一位年轻人模样的人问着旁边的卖报小哥。
卖报小哥一听,噗嗤一下,“这位兄弟,从你这问题来看,你可不是本地人。你可知今儿是什么日子?今天可是一年一度的挑战大会!”
“不不不,此言差矣,我是本地人,只不过离开的日子太久了罢了。”,这位年轻人仿佛叹了一口气,“罢了罢了,待我去看看这村子究竟变成了什么模样。”
卖报小哥哈哈大笑,明明一年轻人,装什么老头。卖报小哥接着吆喝起自己的报纸来。
说罢,这位年轻人便走进围观人群,开始观看起来。
---
台上打的正烈!
两个人影不停的在台上移动,互相出招、应对。
“看我一招冒泡排序!”,只见沈宝宝从怀中掏出自己的键盘,噼里啪啦的迅速敲了起来。
冒泡排序虽是黄阶低级的斗技,但是沈宝宝这一手冒泡排序似乎和平时的冒泡排序并不一样。
一般人的冒泡排序可能需要在键盘上敲击五行以上的代码,可这一手!居然只用了四行,威力大增。这一手冒泡排序没有一两年的功夫,怕是练就不成的。
只见空气中的斗气凝练在沈宝宝的键盘之上,形成一个玄色尖刺,甚是骇人。不过沈宝宝的身体仿佛也不好受,他当前的身体,根本承受不了这么强的斗气之力。不过为了胜利,他只好掏出自己这压箱底的宝贝。
只见沈宝宝一下朝着对方的正面击打了过去!
--
“这下王晔就要遭重啦,这个冒泡排序,从这威力来看,估计炼体四阶以下无解。炼体三阶的王晔怕是要遭重啦。”
“王晔肯定输了。”
“不过沈宝宝使完这一招,估计也得回家躺个几天吧。”
“……”
围观人都指指点点道。
王晔却邪魅一笑,居然也不闪躲,直直的朝着尖刺迎了上去。
“王晔怎么回事儿!居然不躲!”沈宝宝心中诧异,但也不容多想,还是一招打了上去。
“嘣”,只听一声闷响。
--
沈宝宝一下子被击飞,跌在地上一动不动,而王晔却只是往后退了一小步。
赢了,王晔居然赢了。
“承让。”说完这句,王晔便走下了挑战台。
全场鸦雀无声,静谧的针落可闻,一个个全都震惊地望着躺在地上的沈宝宝,满眼的匪夷所思。
刚刚发生了什么,怎么一瞬间就被击败了。
---
“王晔居然一瞬间从怀中掏出了100000个数,直接打在了沈宝宝的键盘之上。”那一开始问路的年轻人惊讶了一下,“这王晔居然是一个造数师。”
冒泡排序虽说被沈宝宝用的极为娴熟,但是毕竟冒泡只是一个n^2的黄阶低级算法,处理大量数据的时候,会非常慢,以至于沈宝宝一下子被王晔击败。
如果沈宝宝不用冒泡排序的话,估计能够稳稳的胜下这一场,可惜可惜,遇上了天敌。
“有趣,有趣,这个挑战大会有意思。”年轻人笑了笑。
---
现在,假设你就是沈宝宝,你会怎么应对这100000个数的排序问题呢?
本题包含若干组测试数据。
第一行一个n,表示有n个数。
第二行n个整数a[i]。
保证 1<=n<=100000,1<=a[i]<=100000
对于每组测试数据,输出从小到大排序后的结果。
注意,每一行的末尾都得多加一个空格哦。
比如样例“1 2 3 4 5 \n1 2 3 \n”
1 2 3 4 5
1 2 3
题解
#include<bits/stdc++.h> using namespace std; int main(){ int n; while(cin>>n){ vector<int> V; for(int i=0;i<n;i++){ int p; scanf("%d",&p); V.push_back(p); } sort(V.begin(),V.end()); for(int i=0;i<n;i++) cout<<V[i]<<" "; cout<<endl; } }