您的位置:首页 > 编程语言 > Java开发

Java常用的数组排序

2016-02-12 00:41 363 查看



从今天起就准备计算机二级考试了,每天学点java,一次过啊!!!

1.冒泡排序法



public class Bubble {

public static void main(String[] args) {
// TODO Auto-generated method stub
int [] array= {1,5,4,3};
//进行下称的轮数     比数组的个数少1
for(int i =0;i<array.length;i++)
{
//每一轮比较的次数为array.length-1-i
for(int j =0;j<array.length-1-i;j++)
{
if(array[j]>array[j+1])
{
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
/*int x = 0;
while(x<array.length)
{
System.out.print("    "+array[x]);
}*/
for(int i = 0;i<array.length;i++)
{
System.out.print("    "+array[i]);
}
}

}


2.选择排序法



class  Select
{
public static void main(String[] args)
{
int[] array = {10,8,20,5};
int min = 0;//保存最小元素的下标
//查找最小数的下标
for(int i = 0;i<array.length-1;i++)
{
min = i;
for(int j=i+1;j<array.length;j++)
{
//如果当前这个最小值要比比较的这个当前下标的这个元素小,那么就交换下标值
if(array[min]>array[j])
{
min = j;
}
}
//除自己和自己的进行比较时才进行交换
if(i!=min)
{
int tem = array[i];
array[i] = array[min];
array[min] = tem;
}
}
for(int i =0;i<array.length;i++)
{
System.out.print("   "+array[i]);
}
}
}


3.插入排序法



class Insert
{
public static void main(String[] args)
{
int[] array = {20,45,7,65};
for(int i=1;i<array.length;i++)
{
int temp = array[i];
int j = i;
while(j>0&&temp<array[j-1])
{
array[j] = array[j-1];
j--;
}
array[j] = temp;
}
for(int i = 0;i<array.length;i++)
{
System.out.print("  "+array[i]);
}
}
}


上边的如果不理解也没关系,在Arrays类里面就有排序的方法直接调用就行。我只是为了弄清排序的原理方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: