java程序的冒泡排序操作

今天刚了解了一下java的冒泡排序的原理,刚开始不是很懂,但是自己推导了一下就明白了,现在跟你们说说我的理解吧

public class Test05 {public static void main(String[] args) {int[] arr = new int[]{23,61,45,12,53,126};	//定义数组for (int i = 0; i < arr.length-1; i++) {for (int j = 0; j < arr.length-1-i; j++) {if (arr[j]>arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}for (int i = 0; i < arr.length; i++) {	//输出排序后的数组System.out.println(arr[i]);}}
}

说一下:
1、java的冒泡排序就是对数组遍历的简单操作
2、我的数组有六个元素,所以表示要循环五次选出第一到第五大的数,这样第六个自然就是最小的,所以"arr.length"要减一,也可以不减,不过运行效率会慢一点
3、冒泡排序的实质就是一个数和后一个数的比较,arr[j]和arr[j+1]的比较,所以为了防止数组越界的情况,所以的第二层for循环的"arr.length"就必须要减一,因为一个外层for循环执行一次就可以选出一个当前的最大值,所以每次就可以减一,可以用i来表示,所以会有"arr.length-1-i",当然也可以不减i,理由同上,但是必须减一
4,if判断的条件就是判断两个数的大小,如果满足条件就交换数据,按照我写的第二个数永远比第一个数大,以此类推
5、然后就可以依次输出排序后的数组元素了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部