我正在用 C# 编写代码来对数组进行排序,我想要右侧的所有负值和左侧的所有正值,不应该按降序排列
namespace SortApp
{
class Program
{
static void Main(string[] args)
{
int[] newInt = new int[] { 5, -2, -1, -4, -20, 6, 7, -14, 15, -16, 8, 9, 10 };
int size = 12, i= 0; // or newInt.Length
for (i = 0; i < newInt.Length; i++)
{
if (newInt[i] < 0 && newInt[size] > 0)
{
int temp = newInt[i];
newInt[i] = newInt[size];
newInt[size] = temp;
size--;
}
}
for (i = 0; i < newInt.Length; i++)
{
Console.Write(newInt[i]);
Console.Write(" ");
}
}
}
}
但输出是这样的(-20 在错误的一边):
5 10 9 8 -20 6 7 -14 15 -16 -4 -1 -2
但预期的输出是:
5 10 9 8 15 6 7 -14 -20 -16 -4 -1 -2
为什么我的代码没有产生我想要的输出?