每次用户输入值后,如何运行“插入排序”代码。请注意,我对编程知之甚少,因此可以欣赏示例或准备好使用代码。
Console.Write("How long the Insertion sort list should be?: ");
var countString = Console.ReadLine();
int count = Convert.ToInt32(countString);
int[] data = new int[count];
for (int i = 0; i < count; i++)
{
var input = Console.ReadLine();
data[i] = Convert.ToInt32(input);
Console.WriteLine(input); // << HERE THE SORTING SHOULD HAPPEN AFTER EACH VALUE THAT I ADD.
}
int j = 0;
int help = 0;
for (int i = 1; i < data.Length; i++)
{
j = i;
help = data[i];
while (j > 0 && help < data[j - 1])
{
data[j] = data[j - 1];
j--;
}
data[j] = help;
}
foreach (var i in data)
{
Console.Write("{0}, ", i);
}
}
答案 0 :(得分:0)
您可以直观地将代码划分为两部分。第一部分是插入值。第二部分对这些值进行排序。因此,您必须切割第二部分并插入到应该进行排序的地方,我希望您能找到这个地方;)
另外,您应该考虑将第二个i
中的for
替换为其他内容,例如使用k