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

时间:2022-03-30 22:11:56

方法一、

    protected int[] fun()
{
int[] b = { -, , , , , , , -, , , , -, , , , , };
int[] a = new int[]; int min = ;
int max = ;
for (int i = ; i < b.Length; i++)
{
if (b[min] > b[i])
{
min = i;
}
if (b[max] < b[i])
{
max = i;
}
} a[] = b[min];
for (int i = ; i < b.Length - ; i++)
{
int temp = b[max];
for (int j = ; j < b.Length; j++)
{
if (b[j] > a[i])
{
if (temp > b[j])
temp = b[j];
}
}
a[i + ] = temp;
} return a;
}

方法二、

int[] a = { -, , , , , , , -, , , , -, , , , ,  };

            int[] b = new int[];

            int intTmp = a[], intMaxNum;

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

            {

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

            }

            intMaxNum = intTmp;

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

            {

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

                {

                    if (j == )

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

                    else

                    {

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

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

                    }

                }

                b[j] = intTmp;

                intTmp = intMaxNum;

            }