See More

/** Ï£¶ûÅÅÐò */ 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