听说面试官很喜欢让人写冒泡排序,那我来写写吧,也是有一点之前刚开始学习编程的用的c与c++,因此写的那些程序都是用之写的,致使后来基本用java还有其余语言,致使我如今的邯郸学步。java
能够看到的排序的结果,过程你们都很清楚,是吧!这是从大到小排的,只要改动一下,就是从小到大排的。c++
你们知道这个冒泡排序的时间复杂度,固然咱们能够改进一下,不用作过多的比较,毕竟时间和空间的博弈面试
加一个标志,这样看上去会好一些,但如逆序的仍是很无奈呀。想一想要不要两头冒泡,这样能够减小循环次数吧,可是交换的次数会少吗?我稍微改一下内循环的代码,改为这种冒泡,记录交换次数和内循环的执行次数。编程
输出结果:微信
若是没有改以前的日志输出是:学习
晚上逻辑混乱,测的很少,不知道有没有写错,帮我看看吧!日志
个人微信公众号:排序