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

java 希尔排序

2015-08-06 17:19 274 查看
public class test3 {

     public static void main(String [] args)

     {

    int [] insert = new int [10];    //初始数组

    System.out.println("未排序数组  ");

    for(int i=0; i<insert.length; i++)

    {

    insert[i] = (int) (Math.random()*100);

    System.out.print(insert[i]+" ");

    }

    System.out.println("");

     

     

    //

    int len = insert.length/2;

    int temp = 0;

    int flag = 0;

    while(true)

    {

    System.out.println("len  "+len);
    for(int j=0; j<insert.length-len; j++)
    {
    if(insert[j] > insert[j+len])
    {
    temp = insert[j];
    insert[j] = insert[j+len];
    insert[j+len] = temp;
    }
    }
     
    if(len%2 == 0 )
    {
    len = len / 2;
    }
    else 
    {
    if(len == 1 )
    {
    len = len / 2;
    }
    else
    {
    len = len/2 + 1;
    }
    }
    if(len == 0)
    {
    break;
    }

    }

   

    System.out.println("结果数组是");

    for(int i=0; i<insert.length; i++)

    {

    System.out.print(insert[i]+" ");

    }

     

     }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 希尔排序