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]+" ");
}
}
}

本文详细介绍了快速排序算法的实现过程,包括初始数组的生成、排序过程和最终结果展示。通过逐步调整数组长度和比较操作,实现了数组的高效排序。文章还展示了排序前后的数组对比,帮助读者理解算法的效果。
5916

被折叠的 条评论
为什么被折叠?



