1. package javapackage;
public class maopao {
public static void main(String[] args)
{
int[] array=new int[]{6,12,3,35,2,46,14,58};
int i,j;
for(i=0;i<array.length-1;i++) //这是外部循环先将里面的循环结束后再对里面排好序的在进行循环。
{
for(j=0;j<array.length-1-i;j++)
if(array[j]>array[j+1]) //这是将j中的指标互换位置,而不是i。(即以j为下指标的两个两个相比)
{
int temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
for(int b=0;b<array.length;b++) //将已经排好序的数,再重新指定一个下标,将其输出。
{
System.out.print(array[b]+" ");
}
}
}
}
注释一:冒泡、冒泡顾名思义肯定就是泡泡越往上越小,越往上越来越少的意思。那泡泡其实也很调皮的,在上升的过程中,不知道翻了多少个跟头,也就是所谓的内循环中间的这段过程,两个泡泡互相比较,比如第一个和第二个,第二个和第三个比,大的在后,小的在前。比完只会产生新的一组数列,然后再循环外面i的,进去再互相比较。
2.package javapackage;
2.package javapackage;
public class maopao {
public static void main(String[] args)
{
int[] array=new int[]{6,12,3,35,2,46,14,58};
for (int i = 0; i < b.Length - 1; i++)
for (int i = 0; i < b.Length - 1; i++)
{
int j = i;
while(j<b.Length - 1)
{
if (b[i] > b[j + 1])
{
int tmp;
tmp = b[j + 1];
b[j + 1] = b[i];
b[i] = tmp;
}
j++;
}
}
注释2:而这种方法则是先从第一个数组下标开始,拿第一个值挨个的和后面的每个值做比较,如果前面的大于后面,就将其位置互换,但需注意的是,每次做比较时,都需要将i的值赋给j,因为每次循环后产生新的数组后,j只需要跟后面的值进行比较,而不需要再跟前面的值比较,以免大的又换回去。
}
注释2:而这种方法则是先从第一个数组下标开始,拿第一个值挨个的和后面的每个值做比较,如果前面的大于后面,就将其位置互换,但需注意的是,每次做比较时,都需要将i的值赋给j,因为每次循环后产生新的数组后,j只需要跟后面的值进行比较,而不需要再跟前面的值比较,以免大的又换回去。