Java教程

Java程序员的重启人生-2.完美级冒泡排序丹

本文主要是介绍Java程序员的重启人生-2.完美级冒泡排序丹,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

上午第一轮比试结束后,第二轮要在第二天,大家都是入门初级,灵力不足,比试一场后需要恢复。

回到住所,幽尚打算提升自己的实力,自身的灵力越浑厚,能够刻画的“代码”越多,威力也就越大。

看着手里的《Java入门》心法,,翻开第一篇,

Java的优点:

  1. Java是纯面向对象语言,开发人员写程序更容易
  2. 平台无关性。一次编译到处运行
  3. 提供了很多内置类库,简化了开发人员的工作。
  4. 提供了对web技术的支持,比如Servlet、Jsp等。
  5. 具有很好的安全性和健壮性。(强类型、垃圾回收器、异常处理等)

默默的把《Java入门》合上了,这不是在侮辱我吗?这能配的上本大爷的身份?

幽尚盘腿做好,打算运行一段符合身份的口诀:

JVM虚拟机运行时数据区分为程序计数器、Java虚拟机栈、本地方法栈、方法区、Java堆。

口诀刚一运行,周围灵气如旋涡一般涌来。幽尚满头黑线,“我现在这经脉撑不住呀,这么多灵气,要完蛋了。”

在灵气入体的刹那,强行中断了心法的运行,虽然没有入体,但还是被庞大的灵力撞在了身上,然后眼前一黑。。。

“尚儿,你终于醒了?没事吧,发生什么事了?娘要担心死了?怎么好端端的,受了这么重的伤?”

恢复意识的第一时间,便听到了一个温柔的声音,不过声音中带着一丝哽咽。

幽尚睁开眼睛,看到一个三十多岁的女子,非常美丽。看着焦急的母亲和一旁的父亲,为了不让他们担心,“昨晚梦到一个白胡子老头,教了我一段心法,结果运行出岔子了”

“今天刚赢了一场就得意忘形了,早就和你说过,心法这种东西万万不可胡乱运行,严重的话会危机生命”。

“尚儿刚醒,你就开始批评,刚才也不知道谁急的满屋走来走去”,女子有些埋怨。

此时才注意到旁边还有一个老者,“咳咳,幽夫人,世子刚受伤严重,您不要太急,我配一副药,服下多休息几日就能康复了”。

又嘱咐了几句,众人便和老者去配药了。

不多久,房门被轻轻的推开了,“少爷,吃药了!”

“秀儿,这玩意能吃吗?不会是有人要毒害我吧?”幽尚皱着眉头,看着手里乌漆嘛黑,不方不圆的药丸。

”这可是夫人花了大价钱买来的疗伤丹,赶紧服下吧“

泥马,要不是散发着淡淡的药香,幽尚不得不怀疑这是一颗羊粪球。犹豫了一会,最后还是捏着鼻子服下了。

一股药力在体内散开,化为一个个符号,构成了一段奇异的能量,开始调理身体,幽尚感受着身体里的能量,惊呆了:

    public void bubbleSort(int[] arr) {
        for (int j = 0; j < arr.length - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }

"我去,这不是冒泡排序吗?还只有半段,太坑了,怪不得药效这么差"。

幽尚思索了一炷香的时间,写了一串药材的名字,”秀儿,去市场上把这些药买回来,别被我父母知道了。免得他们担心“。

秀儿办事很快,不到一个时辰就回来了。让秀儿出去后,幽尚立即动手。

用灵力将一个个药材化开,提取一个个符号,开始按照冒泡丹方炼制:

冒泡排序顾名思义就是整个过程像气泡一样往上升,冒泡排序的基本思想是(假设由大到小排序):对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行一轮比较和交换后,n个记录中最大的记录将位于第n位;然后对前(n-1)个记录进行第二轮比较;重复该过程知道进行比较的记录只剩下一个为止。

对于拥有前世记忆的幽尚来说,简直小菜一碟,别说丹方了,就连整个过程都在脑中呈现出来了:

 

要炼就要炼制完美级别的丹药,幽尚做出决定:

如果数组中的数据部分有序,那么就不需要重复n-1次,我们可以加一个变量来控制,当某次冒泡过程中没有发生交换,证明剩余的数已经是有序的了,我们就可以直接退出循环了。

一个个符号如精灵一般组合了起来:

    // 冒泡排序,a表示数组,n表示数组大小
    public void bubbleSort(int[] a, int n) {
        if (n <= 1) {
            return;
        }
        for (int i = 0; i < n; ++i) {
            // 提前退出冒泡循环的标志位
            boolean flag = false;
            for (int j = 0; j < n - i - 1; ++j) {
                if (a[j] > a[j+1]) { // 交换
                    int tmp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = tmp;
                    flag = true;  // 表示有数据交换
                }
            }
            if (!flag) {
                break;  // 没有数据交换,提前退出
            }
        }
    }

终于,一颗圆润如玉般的药丸完成了,自行悬浮在了空中,散发出浓厚的药香。

看着眼前的丹药,幽尚满意的点了点头,”这才符合我的身份么“。

幽尚迫不及待的服下了这颗自己炼制的完美级丹药-冒泡排序丹。


哥哥么,点赞支持一下吧!!!谢谢了

超级详细版版冒泡排序丹方:08 排序-冒泡_七号公园的忧伤的博客-CSDN博客

这篇关于Java程序员的重启人生-2.完美级冒泡排序丹的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!