class ShellSort
{
public static void main(String[] args)
{
int[] array = new int[]{ 3, 5,2,8,4,9,-1,7 };
for(int num : array)
System.out.println(num);
long timeStart = System.currentTimeMillis();
for(int i=0; i<1000000; i++)
ShellSort.shellSort(array);
long timeEnd = System.currentTimeMillis();
System.out.println("time: "+(timeEnd-timeStart));
for(int num : array)
System.out.println(num);
}
static void shellSort(int array[]){
int gap = array.length/2;
int temp;
int i,j;
while(gap!=0){
for(i=gap; i<array.length; i++){
temp = array[i];
for(j=i; j>=gap && temp<array[j-gap]; j-=gap)
array[j] = array[j-gap];
array[j] = temp;
}
gap/=2;
}
}
}
{
public static void main(String[] args)
{
int[] array = new int[]{ 3, 5,2,8,4,9,-1,7 };
for(int num : array)
System.out.println(num);
long timeStart = System.currentTimeMillis();
for(int i=0; i<1000000; i++)
ShellSort.shellSort(array);
long timeEnd = System.currentTimeMillis();
System.out.println("time: "+(timeEnd-timeStart));
for(int num : array)
System.out.println(num);
}
static void shellSort(int array[]){
int gap = array.length/2;
int temp;
int i,j;
while(gap!=0){
for(i=gap; i<array.length; i++){
temp = array[i];
for(j=i; j>=gap && temp<array[j-gap]; j-=gap)
array[j] = array[j-gap];
array[j] = temp;
}
gap/=2;
}
}
}
转载于:https://blog.51cto.com/xxkkff/26241