javaの一般的なアルゴリズムの交換順序---並べ替えを選択します。


コードブロック:
public class XuanZe implements SuanFa {
    private static Logger logger = Logger.getLogger(XuanZe.class);

    @Override
    //    
    //        a         b    ;
    //  b  a,      ;

    //        c         d    ;
    //  d  c,      ;

    //   。。。

    //      
    public void suanFaRealise(int data[])
    {
        logger.info("XuanZe realise start.");
        int dataSize = data.length;
        int minkey, temp;
        for (int i = 0; i < dataSize - 1; i++)
        {
            //         。
            minkey = i;

            //      i           。
            for (int j = i + 1; j < dataSize; j++)
            {
                if (data[j] < data[minkey])
                {
                    minkey = j;
                }
            }
            logger.info(" " + (i + 1) + "       :" + data[minkey]);

            logger.info("    " + data[minkey] + "    " + (i + 1) + "    " + data[i] + "     。");

            temp = data[i];
            data[i] = data[minkey];
            data[minkey] = temp;
            logger.info("     : " + UtilTool.toString(data));

        }
    }
}
テストクラス:
public class Test {
    private static Logger logger = Logger.getLogger(Test.class);

    public static void main(String args[])
    {
        int[] test = {6, 1, 22, 7, 9, 33, 98, 55, 23, 78, 48};
        logger.info("suanfa test start.");
        //SuanFa suanfa = SuanFaFactory.getMaoPao();
        SuanFa suanfa = SuanFaFactory.getKuaiSu();
        suanfa.suanFaRealise(test);
        logger.debug(UtilTool.toString(test));

    }
}
実行プロセス:2020-04-12 13:14[main:0]-[INFO]suanfa test start.2020-04-12 13:14:16[main:3]-[INFO]start kuais suanfa.2020-04-12 13:16[man:4]-[INFO]XuuunZreisstart.2014回目の値は2014:20-20-14回目の値[INFO-14:14:16:20:16:20:16:16:20:16:16:16:0-18 18 18 18 18 18:18 18:18:18:18:18:18:18:18:18:18:18:18:18:18:18:18:18:18:18:18:18:18:FO最小値1は、1番目の数6と比較されます。2020-04-12 13:16[main:5]-[INFO]の現在の数列は、[1,6,22,7,9,33,98,55,23,78,48]2020-04-12 13:16[main:7]-[INFO]の2回目の最小値は、6 2020-04-12:16[main:16]の最小値と比較されます。2020-04-12 13:16[main:7]-[INFO]の現在の数列は、[1,6,22,7,9,33,98,55,23,78,48]2020-04-12 13:16[main:8]-[INFO]の3回目の最小値は、7 2020-04-12:16[main:16]の最小値と比較されます。2020-04-12 13:16[main:8]-[INFO]の現在の数列は、[1,6,7,22,9,33,98,55,23,78,48]2020-04-12 13:16[main:8]-[INFO]の第4回の最小値は、9 2020-04-12:16[main:16]の最小値と比較します。2020-04-12 13:16[main:8]-[INFO]の現在の数列は、[1,6,7,9,22,33,98,55,23,78,48]2020-04-12 13:16[main:9]-[INFO]の5回目の最小値は、22-04-12:16[main:16]の最小値と比較します。2020-04-12 13:16[main:10]-[INFO]の現在の数列は、[1,6,7,9,22,33,98,55,23,78,48]2020-04-12 13:16[main:10]-[INFO]の6回目の最小値は、23-04-12:16[main:16]の最小値と比較します。2020-04-12 13:16[main:10]-[INFO]の現在の数列は、[1,6,7,9,22,23,98,55,33,78,48]2020-04-12 13:16[main:10]-[INFO]の7回目の最小値は、33,2020-04-12:16[main:16]の最小値と比較します。2020-04-12 13:16[main:11]-[INFO]の現在の数列は、[1,6,7,9,22,23,33,55,98,78]2020-04-12 13:16[main:11]-[INFO]の8回目の最小値は、48 2020-04-12:16[main:16]の最小値と比較します。2020-04-12 13:16[main:11]-[INFO]の現在の数列は、[1,6,7,9,22,23,33,48,78,55]2020-04-12 13:16[main:11]-[INFO]の9番目の最小値は、55-04-12:16[main:16]の最小値と比較されます。2020-04-12 13:16[main:11]-[INFO]の現在の数列は、[1,6,7,9,22,23,33,48,55,78]2020-04-12 13:16[main:12]-[INFO]の10番目の最小値は、78,2020-04-12:16[main:16]の最小値と比較されます。2020-04-12 13:16[main:12]-[INFO]の現在の数は:[1,6,7,9,22,23,33,48,55,78,98]2020-04-12 13:16[main:12]-[DEBUG][1,6,7,9,22,23,33,48,78,98]です。