/**
Ï£¶ûÅÅÐò
*/
public class ShellSort
{
/**
ÀàËÆÓë¼òµ¥µÄ²åÈëÅÅÐò
@param increment ²½³¤
@param temp ÔÝ´æÊý¾Ý£¬ÀàËÆÉÚ±ø
*/
public static void shellSortSmallToBig(int[] data)
{
int j = 0;
int temp = 0;
int size=data.length;
//Íâ²ãÑ»·ÊÇΪÁ˰Ѳ½³¤increment ³Ê±¶ÊýµÝ¼õ
for (int increment =size / 2; increment > 0; increment /= 2) {
//Êä³ö²½³¤
System.out.println("increment:" + increment);
for (int i = increment; i < size; i++) {
// System.out.println("i:" + i);
//ÏȼǼµ±Ç°data[i]µÄÖµ£¬ÎªÁ˺óÃæ£¬Óëdata[j]±È½Ï
temp = data[i];
//jΪ´ÓºóÍùǰһ´Î±éÀú£¬Í¨¹ýtempÓëdata[j]½øÐбȽϣ¬Èç¹ûСÓÚ£¬ÍùºóÒÆ¶¯Ò»Î»
for (j = i - increment; j >= 0&&temp < data[j]; j -= increment) {
//ÍùºóÒÆ¶¯Ò»Î»
data[j + increment] = data[j];
}
//ÕÒµ½Î»Öú󣬲åÈë
data[j + increment] = temp;
}
//Êä³ö¶ÔÓ¦²½³¤ºóµÄÐòÁÐ
for (int i = 0; i