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]+" ");
}
}
}
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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统