Java基础学习笔记 -- 10(数组排序)

1. 双层for循环

    外层循环执行一次,内层循环会全部执行,总执行次数为"外层循环次数" * "内层循环次数"。


    案例31:

        技术分享

    输出结果:
        技术分享


    案例32:

        技术分享


2. 数组排序

    1)冒泡排序

        比较相邻的元素,将小的放到前面,大的放后面,比较一轮,会获取一个最大值在最后位置。


    案例33:

        技术分享

    输出结果:

        技术分享


    2)冒泡排序--轻泡上浮

        将最小的数字往前排,比较一轮,获取一个最小的在前面。


    案例34:

        技术分享

    输出结果:

        技术分享


   3)插入排序

        将数组中每个元素(从第二个元素开始的元素)与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素;再循环第1条规则,找出最小元素,放于第1个位置经过n-1轮比较完成排序。


    案例35:

        技术分享

    输出结果:

        技术分享


    案例36:

        技术分享

    输出结果:

        技术分享


   

3. 二分查找法

    虽然JDK提供了二分查找的方法:Arrays.binarySearch( 数组,  元素值);但是很多时候(面试),需要我们自己写。

    二分查找要求数组是有序的,获取数组arr的中间位置mid,定义变量k为要查找的数字。

    若arr[mid] == k,查找成功;

    若arr[mid] > k,在前半段中继续进行二分查找;

    若arr[mid] < k,则在后半段中继续进行二分查找。


    案例37:

        技术分享


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。