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