java冒泡排序
2007-06-25 14:06
302 查看
public class maopao
{
public static void main(String[] args)
{
int a[] = {99,88,44,-22,-33,-55};
int temp;
boolean change = false;
System.out.println("冒泡程序--->升序排列");
for (int i = 0;i < a.length;i++)
{
int xunhuan = i+1;
System.out.println("第"+xunhuan+"轮循环(i="+i+(")"));
change = false;
for (int j = 0;j < a.length - 1;j++)
{
int bijiao = j+1;
System.out.println(" 第"+bijiao+"次比较(j="+j+")");
String dispnum = "";
String dispnum2 = "";
if(a[j] > a[j+1])
{
for(int c = 0;c < a.length;c++)
{
if(dispnum != "")
dispnum = dispnum+","+a[c];
else
dispnum = ""+(a[c]);
}
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
change = true;
for(int b = 0;b < a.length;b++)
{
if(dispnum2 != "")
dispnum2 = dispnum2+","+a[b];
else
dispnum2 = ""+(a[b]);
}
System.out.println(" 交换前序列:"+dispnum);
System.out.println(" 第"+j+1+"个数字和第"+j+2+"个数字比较:"+a[j]+"<"+a[j+1]+",so互换");
System.out.println(" 交换后序列:"+dispnum2);
}
else
{
System.out.println(" "+dispnum2+"第"+j+1+"个数字和第"+j+2+"个数字比较:"+"这次操作"+a[j]+"比"+a[j+1]+"小,所以位置不变");
}
}
if (! change) break;
}
System.out.println("最后的结果:");
for(int i = 0;i < a.length;i++)
{
System.out.print(a[i]+" ");
}
}
}
{
public static void main(String[] args)
{
int a[] = {99,88,44,-22,-33,-55};
int temp;
boolean change = false;
System.out.println("冒泡程序--->升序排列");
for (int i = 0;i < a.length;i++)
{
int xunhuan = i+1;
System.out.println("第"+xunhuan+"轮循环(i="+i+(")"));
change = false;
for (int j = 0;j < a.length - 1;j++)
{
int bijiao = j+1;
System.out.println(" 第"+bijiao+"次比较(j="+j+")");
String dispnum = "";
String dispnum2 = "";
if(a[j] > a[j+1])
{
for(int c = 0;c < a.length;c++)
{
if(dispnum != "")
dispnum = dispnum+","+a[c];
else
dispnum = ""+(a[c]);
}
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
change = true;
for(int b = 0;b < a.length;b++)
{
if(dispnum2 != "")
dispnum2 = dispnum2+","+a[b];
else
dispnum2 = ""+(a[b]);
}
System.out.println(" 交换前序列:"+dispnum);
System.out.println(" 第"+j+1+"个数字和第"+j+2+"个数字比较:"+a[j]+"<"+a[j+1]+",so互换");
System.out.println(" 交换后序列:"+dispnum2);
}
else
{
System.out.println(" "+dispnum2+"第"+j+1+"个数字和第"+j+2+"个数字比较:"+"这次操作"+a[j]+"比"+a[j+1]+"小,所以位置不变");
}
}
if (! change) break;
}
System.out.println("最后的结果:");
for(int i = 0;i < a.length;i++)
{
System.out.print(a[i]+" ");
}
}
}