예제 #1
0
 public static void OddEvenExchange(int[] arr, isFunc callback)
 {
     int s = 0;
     int e = arr.Length - 1;
     while (s < e)
     {
         for (; s<e && (!callback(arr[e])); e--) ;
         for (; s < e && callback(arr[s]); s++) ;
         int temp = arr[e];
         arr[e] = arr[s];
         arr[s] = temp;
     }
 }
예제 #2
0
        public static void OddEvenExchange(int[] arr, isFunc callback)
        {
            int s = 0;
            int e = arr.Length - 1;

            while (s < e)
            {
                for (; s < e && (!callback(arr[e])); e--)
                {
                    ;
                }
                for (; s < e && callback(arr[s]); s++)
                {
                    ;
                }
                int temp = arr[e];
                arr[e] = arr[s];
                arr[s] = temp;
            }
        }