搜尋

首頁  >  問答  >  主體

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

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

巴扎黑巴扎黑2803 天前568

全部回覆(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
  • 取消回覆