总体思路:通过n次冒泡排序,取出最大的N个数
class Program
{public static int[] findArry(int[] ar,int k)
{
int[] arr = new int[k];
if (k > ar.Length)
{
arr = null;
Console.WriteLine("你给定的数组与你要查找的数不匹配");
}
else
{
int length = ar.Length;
for (int i = 0; i < k;i++ ) //K次冒泡,每次冒泡后取出最大的数
{
for (int j = 0; j < length-1; j++)
{
if (ar[j] > ar[j+1])
{
int temp = ar[j];
ar[j] = ar[j+1];
ar[j + 1] = temp;
}
}
arr[k-1-i] = ar[length-1];
length--;
}
}
return arr;
}
static void Main(string[] args)
{
int[] array = { 14, 13, 2, 5, 789, 23, 111, -345, 321, 267 };
int[] BigK = findArry(array, 9);
if (BigK != null)
{
Console.WriteLine("最大的{0}个数是:", BigK.Length);
foreach (int x in BigK)
{
Console.Write(x + " ");
}
}
}
}