java冒泡排序从大到小数组(java单例模式代码)

/*

* 冒泡排序(Bubble Sort)。

* 在冒泡排序算法中,需要重复的走访要排序的数列,一次比较两个元素,

* 如果它们的大小顺序错误就把它们交换过来。

本案例要求使用冒泡排序算法实现对数组的排序。

有一个长度为 10的整型数组,

使用冒泡排序算法将数组按照升序排列,并输出排序的过程以及结果。

* */

/*

* 分析:

* 第一步:创建一个长度为10的数组

* 以后这里可以引申为用户输入一个数字代表创建数组的长度

* 第二步:输出这个数组

* 第三步:冒泡排序

* 假设一个新数组为10,9,4,18

* 第一轮第一个元素开始冒泡,需要比较3次得到最大值—–>0 3

* 每次冒泡都是从第一个元素开始

* 第二轮第一个元素开始冒泡,需要比较2次得到最大值—–>1 2

* 第三轮第一个元素开始冒泡,需要比较1次得到最大值—–>2 1

* 第四轮无需再做比较

* 轮数i为length-1 外循环for

* 比较次数为length-1-i 内循环for

* 第四步:输出新数组

* */

package day05;

public class BubbleSort {

/**

* @param args

*/

public static voidmain(String[] args) {

// TODO Auto-generated methodstub

//第一步:创建长度为10的新数组

int[] arr = new int[10];

//第二步:给新数组随机赋值并输出

System.out.println(“新创建数组为:”);

for(inti=0;i<arr.length;i ){

arr[i]=(int)(Math.random()*100);//元素大小在0-99之间

System.out.print(arr[i] “”);

}

System.out.println();

//第三步:冒泡排序

for(inti=0;i<arr.length-1;i ){

for(intj=0;j<arr.length-1-i;j ){

int temp;

if(arr[j]>arr[j 1]){//注意这里比较的下标是j不是i,外层走一次内层走所有次

temp=arr[j];

arr[j]=arr[j 1];

arr[j 1]=temp;

}

}

}

//第四步:输出新数组

System.out.println(“冒泡排序后的新数组是:”);

for(inti=0;i<arr.length;i ){

System.out.print(arr[i] “”);

}

}

}

java冒泡排序从大到小数组(java单例模式代码)

发表评论

登录后才能评论