int[] array = new int[10]; //生成随机数对象 Random random = new Random(); for (int i = 0; i < array.length; i++) { array[i] = random.nextInt(50); System.out.print(array[i]+" "); } System.out.println("\n排序后:"); for (int i = 1; i < array.length; i++) { //比较两个相邻的元素,较大的数往后冒泡 for (int j = 0; j < array.length - i; j++) { if (array[j]>array[j+1]) { //把第一个元素值保存到临时变量中 int temp = array[j]; //把第二个元素值保存到第一个元素中去 array[j] = array[j+1]; //把临时变量也就是第一个元素原值保存在第二个元素中去 array[j+1] = temp; } } for (int j = array.length-i; j < array.length ; j++) { System.out.print(array[j]+" "); } System.out.println(); }
//冒泡排序的基本思想是:
对比相邻的元素值,如果条件满足就交换元素值,把较小的元素移到数组前面,把大的元素移到后面,这样数组就像气泡一样从底部上升到顶部。
//实现过程:
在双层循环中实现,外层循环控制排序轮数,要排序数组长度-1次;内层循环用于对比临近两个元素的大小,以确定是否要交换位置,对比和交换次数依排序轮数而减少。
如图例所示: