已知一组数字:21,25,11,32,12,35,55,77,66 要求按以下规则进行排序:第一个数最大,第二个数最小,* 第三个数是剩下中的最大的,第四个数是剩下中的最小的,依此类推,请设计一个字符界面的程序解决之
C# codes as below:
class Program
{
static void Main(string[] args)
{
foreach (int i in GetTargetArray(new int[] {1,2,3,4,5,5,4,3,2,1}))
{
Console.WriteLine(i.ToString());
}
Console.ReadKey();
}
static int[] GetTargetArray(int[] array)
{
bool mark = true;
for (int i = 0; i < array.Length; i++)
{
if (mark == true)
{
GetMax(array, i);
mark = false;
}
else
{
GetMin(array, i);
mark = true;
}
}
return array;
}
static void GetMax(int[] array, int index)
{
for (int i = index; i < array.Length; i++)
{
if (array[i] > array[index])
{
int preserve = array[index];
array[index] = array[i];
array[i] = preserve;
}
}
}
static void GetMin(int[] array, int index)
{
for (int i = index; i < array.Length; i++)
{
if (array[i] < array[index])
{
int preserve = array[index];
array[index] = array[i];
array[i] = preserve;
}
}
}
}