永发信息网

Java冒泡排序表达式怎么理解?问题在注释里

答案:1  悬赏:0  手机版
解决时间 2021-01-10 05:12
  • 提问者网友:献世佛
  • 2021-01-09 07:08
Java冒泡排序表达式怎么理解?问题在注释里
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-01-09 08:18
public class BubbleSort {
public static void main(String[] args) {
int[] array = { 63, 4, 24, 1, 3, 15 };
BubbleSort sorter = new BubbleSort();
sorter.sort(array);
}
public void sort(int[] array) {
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];//temp是一个变量是为了做中转作用,当前一位数较小时,通过此变量把这两个数交换位置。(java 中等号是指把右边的值赋值给左边,如果左边原来有数值,原来的值就被破坏了,所以需要一个中间变量调换array[ j ]和array[ j+1 ]的值)
array[j] = array[j + 1]; // 此时array[ j ] 的值已经存储进temp中了,所以破坏了也没关系。
rray[j + 1] = temp;// 将temp中接受的array[ j ] 的值转进array[ j +1] 中。
}
}
}
showArray(array);
}
public void showArray(int[] array) {
for (int i : array)
System.out.print(" >" + i);
}
System.out.println();

如果不明白快点追问,半个小时候要下线了。追问if (array[j] > array[j + 1]) { //63 > 4 ,满足条件
int temp = array[j];//先把63的值存到temp中,
array[j] = array[j + 1]; // 把第一个的值63变成第二个值4,这时第一个二个值都是4,4
rray[j + 1] = temp;//再把temp存的值63赋值给第二个值 ,第一第二变成4,63

是这样理解吗追答对,就是这个意思。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯