JAVA基础_JAVA中的冒泡排序,
分享于 点击 40433 次 点评:183
JAVA基础_JAVA中的冒泡排序,
JAVA基础_JAVA中的冒泡排序
在java中不可能每一个数组都做到有序排列,当我们要用到它时就必须先对其进行排序,所以这里就引入了冒泡排序来实现,那么他的思路是什么呢?
其实很简单,我们把数组中的第一个数看做最大,依次和后一位去比较,当第一位较大时,我们把两个数交换位置(这里排序是默认为升序),然后再进行前一步操作,直到第一圈排序完成,找到最大的一个数;而如果是第一位小于后一位,那么位置不变,后一位代替第一位和后边的去比较,依次比较下去,直到第一圈结束,找到最大。这里我们就完成了第一次排序,找到最大值,这时我们就可以利用循环去找到剩下每一个数的位置。下边就是代码实现:
public static void main(String[] args) {
int z = 0;//用来做中转,初始要为0
int[]ssr={12,5,6,78,4,8};
/*
这里外部的for循环就是用来控制循环次数,做到数组每个数都能排到
*/
for (int j = 0;j<ssr.length;j++){
/*
内部的for循环配合if判断做到每一轮找到一个该轮最大数
i这里是索引,不能大与数组的长度,否则索引越界
这里可以再优化一下for (int i = 0;i<ssr.length-1-i;i++){},让前边找到的排好的数不用参与判断,减少耗时
*/
for (int i = 0;i<ssr.length-1;i++){
if(ssr[i]>ssr[i+1]){
z=ssr[i];
ssr[i]=ssr[i+1];
ssr[i+1]=z;
}
}
}
//到这里就完成了冒泡排序,但打印效果很难看,所以我们可以调java写好的漂亮打印做到美观
String a = java.util.Arrays.toString(ssr);
System.out.println(a);
//若不想去调也可以自己去写(手动苦瓜脸)
bt(ssr);
}
static void bt(int[]ssr){
System.out.print("[");
int a = 0;
for (a = 0;a<ssr.length;a++){
System.out.print(ssr[a]);
if(a!=ssr.length-1){
System.out.print(",");
}
}
System.out.print("]");
}
相关文章
- 暂无相关文章
用户点评