冒泡排序———数组(int []array)
/*
冒泡排序实现
(1)找出数组中的最大值并赋值给数组的最后的位置
(2)N个元素最多需要N-1趟
(3)判断数组中的元素是否还是无序。
(4)实现任意数组都可以由小到大排序(方法);
*/
public class Bubble{
public static void main(String[]args)
{
//静态声明一个数组
int []a={23,45,65,76,7,67,8,32};
//实现找出数组中的最大值并赋值给数组的最后的位置
findMax(a);
//实现进行a.length-1趟,每一趟都判断a.length-1
rank(a);
//判断数组中的元素是否还是无序。实现任意数组都可以由小到大排序(方法)
bubble(a);
}
//实现找出数组中的最大值并赋值给数组的最后的位置
public static void findMax(int[]b)
{
int temp=0;
for(int i=0;i<b.length-1;i++)
{
if(b[i]>b[i+1])
{
temp=b[i];
b[i]=b[i+1];
b[i+1]=temp;
}
}
System.out.println("最大值赋值到数组的末尾:");
for(int i=0;i<b.length;i++)
{
System.out.print(b[i]+"\t");
}
System.out.println();
}
//实现进行a.length-1趟,每一趟都判断a.length-1
public static void rank(int []c)
{
System.out.println("由小到大输出:");
int temp=0;//交换的盒子
for(int j =1;j<c.length;j++)
{
for(int i=0;i<c.length-1;i++)
{
if(c[i]>c[i+1])
{
temp=c[i];
c[i]=c[i+1];
c[i+1]=temp;
}
}
}
for(int num:c){
System.out.print(num+"\t");
}
System.out.println();
}
//判断数组中的元素是否还是无序。实现任意数组都可以由小到大排序(方法)
public static void bubble(int[]d)
{
int temp=0;
for(int i=1;i<d.length;i++)
{
/* 做一个标志,标志的作用当数组中的元素
已经是有序是就跳出循环不再进行下一趟比较 */
boolean flag=true;
for(int j=0;j<d.length-i;j++)
{
if(d[j]<d[j+1])
{
temp=d[j];
d[j]=d[j+1];
d[j+1]=temp;
flag=false;
}
if(flag)
{
break;
}
}
}
System.out.println("从大到小排序:");
for(int num:d)
{
System.out.print(num+"\t");
}
System.out.println();
}
}
转载于:https://blog.51cto.com/11900208/1865161