検索

ホームページ  >  に質問  >  本文

c++ - 请问C#中如何写出插入数据算法?

请问C#中如何写出插入数据算法? 不需要排序,只要在数组中插入数据,并使所有后续数值后移。这种算法该怎么写?

巴扎黑巴扎黑2805日前578

全員に返信(4)返信します

  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:06:34

    那别用数组了,用链表结构,类里面有自己类型的对象,指向下一个,上一个,链表算法搜一下吧,c#版的很多。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 13:06:34

    https://msdn.microsoft.com/en-us/library/he2s3bh7(v=vs.110).aspx

    题主想太多了,链表类.net里面是现成的。

    返事
    0
  • 怪我咯

    怪我咯2017-04-17 13:06:34

    数组大小不可变啊

    public int[] InserFunction(int[] inarr, int data, int position)
    {
        int[] outarr = new int[inarr.Length + 1];
        outarr[inarr.Length] = data;
        for (int ini = 0; ini < inarr.Length; ++ini) outarr[ini] = inarr[ini];
        for (int i = inarr.Length; i > position; --i)
        {
            int ex = outarr[i];
            outarr[i] = outarr[i - 1];
            outarr[i - 1] = ex;
        }
        return outarr;
    }

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 13:06:34

    用 LinkedList, 有一个 AddFirst() 方法可以添加到列表头部。

    返事
    0
  • キャンセル返事