int[] GetList(int minV,int maxV,int num)
{
if (minV > maxV)
return null;
if (num < 1)
return null;
List<int> arr = new List<int>();
int daV = maxV - minV + 1;
if (num<daV)
{
int davMin = num / 2;
int davMax = num - davMin;
for (int i = 0; i < davMax; i++)
arr.Add(maxV - i);
for (int i = 0; i < davMin; i++)
arr.Add(minV + i);
}
else
{
int numF = num / daV;
for (int i = 0; i < numF; i++)
for (int j = 0; j < daV; j++)
arr.Add(minV+j);
int numS= num % daV;
int idxS = (daV - numS) / 2;
if (idxS != 0)
for (int i = 0; i < numS; i++)
arr.Add(minV + idxS + i);
}
arr.Sort();
arr.Reverse();
return arr.ToArray();
}
排序的方法有很多,这只是其中之一