public void maxP(int array1[]){
for(int i=0;i<array1.length;i++){
for(int j=0;j<array1.length-i-1;j++){
if(array1[j]>array1[j+1]){
int temp = array1[j];
array1[j] = array1[j+1];
array1[j+1]=temp; }
}
}
System.out.print("从小到大排列:");
for(int i=0;i<array1.length;i++){
System.out.print(array1[i]+" ");
}
System.out.println();
}
for(int i=0;i<array1.length;i++){
for(int j=0;j<array1.length-i-1;j++){
if(array1[j]>array1[j+1]){
int temp = array1[j];
array1[j] = array1[j+1];
array1[j+1]=temp; }
}
}
System.out.print("从小到大排列:");
for(int i=0;i<array1.length;i++){
System.out.print(array1[i]+" ");
}
System.out.println();
}
temp 作为一个中间变量。。用来临时存一个数据。。
就是说如果array1[j]>array1[j+1] 成立 和 3>2一样如果成立
则让数组j位置上的值为原来j+1位置上的值
让数组j+1位置上的值为原来j位置上的值
实现一个j和j+1位置的值交换temp 就是用来存j+1位置上的值的。。如果不用temp存那数据就会丢失你再仔细看看
Arrays.sort(arr);
这个是冒泡排序的第二次循环,外面做i次,由于每次你都找最大的或者最小的,所以每排一次下一次就可以不用拍已经找出的了,做length-i-1次循环,之所以减一应该不用说了吧因为数组中有个0。
if(array1[j]>array1[j+1]){
int temp = array1[j];
array1[j] = array1[j+1];
array1[j+1]=temp;
比较array的第j个和第j+1个,把大的一个放在j+1里面。对了,提醒LZ,以后代码看不懂,不要轻易问人,这样学部到什么东西。
如果是在看不懂就该代码里面的东西,看看功能变成什么样子,然后改回来就基本明白了