面试百题054——调整数组顺序使奇数位于偶数前面

输入一个整数数组,调整数组中数字的顺序,使得所有的奇数位于数组的前半部分。

/// <summary>
    /// 输入一个整数数组,调整数组中数字的顺序,使得所有的奇数位于数组的前半部分。
  /// </summary>
    /// <param name="arr">数组</param>
    /// <param name="n">数组长度</param>
    static void patition(int[] arr, int n)
    {
        if (n == 0 || n == 1) return;
        int i = 0, j = n - 1;

        int temp;

        while (i < j)
        {

            if ((arr[i] & 1) == 1) //是奇数
            {

                i++;

                continue;

            }

            if ((arr[j] & 1) == 0)
            {

                j--;

                continue;

            }

            temp = arr[i];

            arr[i] = arr[j];

            arr[j] = temp;

            i++;

            j--;

        }

    }
posted @ 2012-10-07 16:43  三块钱的其其  阅读(134)  评论(0编辑  收藏  举报