两个数组 [n] [m] n>m 第一个数组的数字无序排列 第二个数组为空 取出第一个数组的最小值 放到第二个数组中第一个位置, 依次类推. 不能改变A数组,不能对之进行排序,也不可以倒到别的数组中。

方法一、

    protected int[] fun()
    {
        int[] b = { -20, 9, 7, 37, 38, 69, 89, -1, 59, 29, 0, -25, 39, 900, 22, 13, 55 };
        int[] a = new int[17];

        int min = 0;
        int max = 0;
        for (int i = 1; i < b.Length; i++)
        {
            if (b[min] > b[i])
            {
                min = i;
            }
            if (b[max] < b[i])
            {
                max = i;
            }
        }
       

        a[0] = b[min];
        for (int i = 0; i < b.Length - 1; i++)
        {
            int temp = b[max];
            for (int j = 0; j < b.Length; j++)
            {
                if (b[j] > a[i])
                {
                    if (temp > b[j])
                        temp = b[j];
                }
            }
            a[i + 1] = temp;
        }

        return a;
    }

方法二、

int[] a = { -20, 9, 7, 37, 38, 69, 89, -1, 59, 29, 0, -25, 39, 900, 22, 13, 55 };

            int[] b = new int[10];

            int intTmp = a[0], intMaxNum;

            for (int i = 0; i < a.Length; i++)

            {

                intTmp = a[i] > intTmp ? a[i] : intTmp;

            }

            intMaxNum = intTmp;

            for (int j = 0; j < b.Length; j++)

            {

 

                for (int i = 0; i < a.Length; i++)

                {

                    if (j == 0)

                        intTmp = a[i] < intTmp ? a[i] : intTmp;

                    else

                    {

                        if (a[i] > b[j - 1])

                            intTmp = a[i] < intTmp ? a[i] : intTmp;

                    }

                }

                b[j] = intTmp;

                intTmp = intMaxNum;

            }

 

posted @ 2013-06-25 12:00  武沛齐  阅读(665)  评论(0编辑  收藏  举报