public class Bubblesort{
/**
* @param args
*/
public static void main(String[] args) {
int[] sort = {10,14,3,13,53,23,88,123,48,100};
/*
* 冒泡排序:
* 升序排序
*/
for(int i=0;i<sort.length-1;i++) {
for(int j=0;j<sort.length-1;j++) {
if(sort[j]>sort[j+1]) {
int replace = sort[j];
sort[j] = sort[j+1];
sort[j+1] = replace;
}
}
}
for(int i=0;i<sort.length;i++) {
System.out.print(sort[i]+"\t");
}
System.out.println(); //对升序排序和降序排序之间使用空白行进行隔开
/*
* 降序排序
*/
for(int i=0;i<sort.length-1;i++) {
for(int j=0;j<sort.length-1;j++) {
if(sort[j]<sort[j+1]) {
int replace = sort[j];
sort[j] = sort[j+1];
sort[j+1] = replace;
}
}
}
for(int i=0;i<sort.length;i++) {
System.out.print(sort[i]+"\t");
}
/*
* 冒泡排序思想:
* int[] sort = {10,14,3,13,53,23,88,123,48,100};
*/
// 1.首先使用for循环判断要排序的遍数,可以使用[SortName.length]来识别数组的空间长度长度(-1是因为数组的下标是从0开始计算的,length-1后就是数组空间的实际下标长度)
// 2.内层循环指定数组的最大下标长度(上面已经说过了,数组的下标是从0开始计算的,-1以后就是数组空间的实际下标长度,不然会出现数组长度溢出的异常错误信息。)
// 3.使用if判断数组下标0>或者<下标1,如果满足条件,则进行替换,替换后数组空间数组值的位置也会发生相应的改变;然后完成升序或降序的排序法则;
// 4.这里需要注意一下,我们定义了一个外层的for循环和一个内层的for循环,这里需要明白一个问题就是“外层循环循环一次,内层循环循环一遍”,
// 这里外层循环要循环9层,为什么是9次,因为length的数组空间为10,但数组空间的下标长度是从0开始,所以我们要进行length-1就是9次;
// 外层循环每循环一次内层循环就要从0下标开始进行一次排序,直到比较n-1与n次为止(n是数组下标空间的最大下标长度。);外层循环每循环一次,
// 内层循环就会排序一次,外层循环要从0开始一直到9结束,内层循环也会从0开始,与最大的下标进行比较,直到内层循环和外层循环都不再满足条件,
// 循环结束,排序也就结束了,最终会进根据比较,从大到小,或者从小到大进行打印输出。
}
}
输出效果:
-
升序排序
- 3 10 13 14 23 48 53 88 100 123 降序排序
- 123 100 88 53 48 23 14 13 10 3