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();
}

解决方案 »

  1.   

    它实现一个功能。。就是数据交换。。‘
    temp 作为一个中间变量。。用来临时存一个数据。。
    就是说如果array1[j]>array1[j+1] 成立 和 3>2一样如果成立
    则让数组j位置上的值为原来j+1位置上的值
    让数组j+1位置上的值为原来j位置上的值
    实现一个j和j+1位置的值交换temp 就是用来存j+1位置上的值的。。如果不用temp存那数据就会丢失你再仔细看看
      

  2.   

    http://baike.baidu.com/view/254413.htm冒泡排序,不好解释
      

  3.   

    建议一个Java程序员应该用下面的包来排序,恩 import java.util.Arrays;

    Arrays.sort(arr);
      

  4.   

    什么都用现成的也不好,至少要知道原理?难道你学数据机构的时候也要直接调现有的函数?
    这个是冒泡排序的第二次循环,外面做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,以后代码看不懂,不要轻易问人,这样学部到什么东西。
    如果是在看不懂就该代码里面的东西,看看功能变成什么样子,然后改回来就基本明白了
      

  5.   

    中间红色的代码是利用第三个变量temp,去交换array1[j]和array1[j+1],从而达到排序的目的。