专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 面试经常提问到的Java数组排序问题

面试经常提问到的Java数组排序问题

更新时间:2020-02-17 13:31:03 来源:动力节点 浏览2069次


  数组冒泡排序


  假设有5个数字12,21,6,8,15在一个int类型的数组中,要求按从小到大排序输出,采用冒泡排序算法实现排序。


  冒泡排序的算法:


  首先从数组的最左边开始,取出下标为0的数据和下标为1的数据进行比较,如果左边的数据大于右边的数据,则进行交换,否而不进行交换。


  接下来右移一个位置,取出下标为1数据和下标为2的数据进行比较,如果左边的数据大于右边的数据,则进行交换,否而不进行交换。以此类推,最终将最大的数移动到最右边,就像气泡冒出水面,这就是冒泡排序算法。


  使用冒泡排序对int类型的一维数组进行排序程序如下:

面试管经常提问到的Java数组排序问题


  冒泡排序效率较低,因为每一次比较都可能发生数据的移动。


  选择排序


  选择排序对冒泡排序进行了改进,使交换次数减少,但比较次数仍然没有减少。假设有6个数字12,21,3,45,7,1在一个int类型的数组中,要求按从小到大排序输出,采用选择排序。


  选择排序的算法:


  先从左端开始,找到下标为0的元素,然后和后面的元素依次比较,如果找到了比下标0小的元素,那么在使用此元素,再接着依次比较,直到比较完成所有的元素,最后把最小的元素和下标为0的元素位置交换。第二次循环从下标为1的元素开始,如果找到比下标为1的元素还小的元素,进行交换。


面试管经常提问到的Java数组排序问题


  数组相关工具类Arrays


  Sun提供了针对数组操作的工具类java.util.Arrays。如排序、二分查找等方法。


  对int类型的数组进行排序然后使用二分法对数组元素进行查找程序如下:


面试管经常提问到的Java数组排序问题


  以上就是动力节点Java培训机构小编介绍的“面试管经常提问到的Java数组排序问题”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


相关推荐


最新最全java面试题及答案(初级到高级)


史上最全的中高级JAVA工程师面试题及答案汇总


Java高级开发工程师面试题


2019史上最全java面试题题库大全800题


哪有资深java工程师面试题


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>