题目:有n(n <= 100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。输出新的数组。
解题思路:方法①新建一个数组,将该数放入新数组中再逐一比较大小
方法②新建一个空数组,将输入数与原数组比较,如果小就插入到前面。
方法二代码
int[] numArray = { 2, 5, 20, 44, 52 };
int num = Convert.ToInt32(Console.ReadLine());
int[] newArray = new int[numArray.Length + 1];
int a = 0;//a为numArray数组的索引下标
bool isInsert = false;
for (int i = 0; i <newArray.Length; i++)
{
if (i==numArray.Length&&isInsert==false)
{
newArray[i] = num;
isInsert = true;
break;
}
if (num<=numArray[a]&&isInsert==false)
{
newArray[i] = num;
isInsert = true;
}
else
{
newArray[i] = numArray[a];
a++;
}
}
foreach (var item in newArray)
{
Console.WriteLine(item);
}
console.readkey();