C#这个题目怎么敲码。向已经排好序的数组添加数据,添加数据后数组仍然是有序的

接收排好序的10个数字,向数组中添加数据,添加数据后,数组的数字仍然是有序的。这个数组是一维数组。这怎么敲

 class Program
    {
        static void Main(string[] args)
        {
            var array1 = new[] { 1, 3, 4, 5, 6 };

            Console.WriteLine("原数组:");
            Console.WriteLine(string.Join(",", array1));
            Console.WriteLine("插入一个元素:");
            var input = Convert.ToInt32(Console.ReadLine());
            var index = 0;

            if (array1[array1.Length - 1] < input)
            {
                index = array1.Length;
            }
            else
            {
                for (int i = 0; i < array1.Length; i++)
                {
                    if (array1[i] >= input)
                    {
                        index = i;
                        break;
                    }
                }
            }
            var array2 = new int[array1.Length + 1];

            for (int i = 0; i < array2.Length; i++)
            {
                if (i < index)
                {
                    array2[i] = array1[i];
                }
                else if (i == index)
                {
                    array2[i] = input;
                }
                else
                {
                    array2[i] = array1[i - 1];
                }
            }

            Console.WriteLine("新数组:");
            Console.WriteLine(string.Join(",", array2));
        }
    }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-17
百度,插入排序
第2个回答  2014-03-17
不是很明白你的意思,是不是在固定位置插入数据,达到不用重新排序维持数组的排列?
第3个回答  2014-03-17
int[] a={ 1, 3, 4, 5, 6 };
第4个回答  2017-10-23
代码十分正确,if是判读语句,要知道排序本身就是有序的,判断自然是有道理的。