public class BubbleSort {
public static void main(String[] arge) {
//使用冒泡排序将数组[1,48,687,4654,345,1354]进行从大到小和从小到大排序
//思路;
//1.先定义一个数组int[] array = {1,48,687,4654,345,1354}
//2.因为需要交换数组值的位置所以需要一个中间变量int temp
//3.使用循环控制数组下标来控制数值值的比较每次只能排序一个值,再在外层使用循环控制整个数组排序次数
//4.将每一轮比较后得到的最大或最小值放到数组开头或末尾
//5.每进行一轮循环后,循环内的比较循环次数会减少若轮数为i(i = array.length - 1)
//轮内循环比较次数为j(j == array.length-1-i)
int[] array = {1,48888,687,4654,345,1354};
//int[] array = {24,69,80,57,13,654,1,3,48};测试用
int[] array02 = {1,2,3,4};
System.out.println("从小到大排序==========");//从大到小只需将比较那里改成前比后小时交换
for(int i = 0;i < array.length; i++) {
boolean sign = true;//用于判断数组是否在轮数循环结束前就已经完成排序
for(int j = 0; j < array.length - 1 - i;j++) {
if(array[j] > array[j+1]) {
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
sign = false;//若该代码执行了说明这次循环进行了排序
}
}
if(sign ) {
System.out.println("\n数组排序完毕");
break;
}
System.out.println("\n第" + (i+1) +"轮排序后的数组为");
for(int k = 0;k < array.length;k++) {
System.out.print(array[k] + " ");
}
}
}
}
以上为个人笔记,仅供参考。
|