谁能给我一个关于 shell 排序的例子?我是这里的新人,必须学习 shell 排序,但首先我必须找到一个 Java shell 排序示例。我在 Google 上找到了一个例子,但是太难了。
最佳答案
这里,这段代码非常简单:
/**
* Shellsort, using Shell’s (poor) increments.
* @param a an array of Comparable items.
*/
public static <T extends Comparable<? super T>>
void shellsort( T [ ] a )
{
int j;
for( int gap = a.length / 2; gap > 0; gap /= 2 )
{
for( int i = gap; i < a.length; i++ )
{
T tmp = a[ i ];
for( j = i; j >= gap && tmp.compareTo( a[ j - gap ] ) < 0; j -= gap )
{
a[ j ] = a[ j - gap ];
}
a[ j ] = tmp;
}
}
}
我从一本名为 Data Structures and Algorithm Analysis in Java. 的书中偷走了它这是一本很好的书,通俗易懂。我建议您阅读它。
关于java - Shell 排序 Java 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4833423/