码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-05-21 19:46:06      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:排序   for循环   二分查找   冒泡   轻泡上浮   

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:

        技术分享


 

 

本文出自 “永远年轻” 博客,请务必保留此出处http://kingkongzhao.blog.51cto.com/6319491/1653567

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

标签:排序   for循环   二分查找   冒泡   轻泡上浮   

原文地址:http://kingkongzhao.blog.51cto.com/6319491/1653567

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!