1.这种算法循环81次。
class BubbleSorting
{
public static void main(String args[])
{
int []list={1,5,4,2,3,8,9,7,6,12};
System.out.println("最初数组");
for(int i=0;i<list.length;i++)
System.out.print(" "+list[i]);
bubbleSort(list);
System.out.println();
System.out.println("排序后的数组是");
for(int i=0;i<list.length;i++)
System.out.print(" "+list[i]);
}
static void bubbleSort(int []list)
{
for(int i=0;i<list.length;i++)
{
//boolean a=true;
int b=0;
for(int j=1;j<list.length-i;j++)
if(list[j-1]>list[j]) //大于号是从小到大排列,小于号是从大到小排列。
{
b=list[j-1];
list[j-1]=list[j];
list[j]=b;
//a=false;
//System.out.print(b+" "+list[j]+" "+list[j-1]);
}
// if(false)
// break;
}
}
}
2.这种算法循环54次。
class BubbleSorting
{
public static void main(String args[])
{
int []list={1,5,4,2,3,8,9,7,6,12};
System.out.println("最初数组");
for(int i=0;i<list.length;i++)
System.out.print(" "+list[i]);
bubbleSort(list);
System.out.println();
System.out.println("排序后的数组是");
for(int i=0;i<list.length;i++)
System.out.print(" "+list[i]);
}
static void bubbleSort(int []list)
{
for(int i=0;i<list.length;i++)
{
boolean a=true;
int b=0;
for(int j=1;j<list.length-i;j++)
if(list[j-1]>list[j]) //大于号是从小到大排列,小于号是从大到小排列。
{
b=list[j-1];
list[j-1]=list[j];
list[j]=b;
//a=false;
//System.out.print(b+" "+list[j]+" "+list[j-1]);
}
if(false)
break;
}
}
}
3.这种算法循环39次。
class BubbleSorting
{
public static void main(String args[])
{
int []list={1,5,4,2,3,8,9,7,6,12};
System.out.println("最初数组");
for(int i=0;i<list.length;i++)
System.out.print(" "+list[i]);
bubbleSort(list);
System.out.println();
System.out.println("排序后的数组是");
for(int i=0;i<list.length;i++)
System.out.print(" "+list[i]);
}
static void bubbleSort(int []list)
{
for(int i=0;i<list.length;i++)
{
boolean a=true;
int b=0;
for(int j=1;j<list.length-i-j;j++)
if(list[j-1]>list[j]) //大于号是从小到大排列,小于号是从大到小排列。
{
b=list[j-1];
list[j-1]=list[j];
list[j]=b;
//a=false;
//System.out.print(b+" "+list[j]+" "+list[j-1]);
}
if(false)
break;
}
}
}