亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 List 方法更改為 Array 方法?

如何將 List 方法更改為 Array 方法?

C#
慕容森 2023-08-20 14:25:29
我正在嘗試使用合并排序算法對數字數組進行排序,但該算法接受 List<> 而不是 Array[]我嘗試更改算法以使用 Array[],而不是將 '.Count' 替換為 '.Length',但由于數組的固定大小性質,我在使用 'add' 和'消除'private static List<int> MergeSort(List<int> unsorted)        {            if (unsorted.Count <= 1)                return unsorted;            List<int> left = new List<int>();            List<int> right = new List<int>();            int middle = unsorted.Count / 2;            for (int i = 0; i < middle; i++)              {                left.Add(unsorted[i]);            }            for (int i = middle; i < unsorted.Count; i++)            {                right.Add(unsorted[i]);            }            left = MergeSort(left);            right = MergeSort(right);            return Merge(left, right);        }        private static List<int> Merge(List<int> left, List<int> right)        {            List<int> result = new List<int>();            while (left.Count > 0 || right.Count > 0)            {                if (left.Count > 0 && right.Count > 0)                {                    if (left.First() <= right.First())                      {                        result.Add(left.First());                        left.Remove(left.First());                          }                    else                    {                        result.Add(right.First());                        right.Remove(right.First());                    }                }                else if (left.Count > 0)                {                    result.Add(left.First());                    left.Remove(left.First());                }                else if (right.Count > 0)                {                    result.Add(right.First());                    right.Remove(right.First());                }            }            return result;        }我希望能夠將未排序的數組傳遞到該方法中,并輸出一個已排序的數組。
查看完整描述

1 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

數組是固定大小的,并且不與可變大小的列表共享相同的方法。因此,您需要將數組轉換為列表,然后將列表作為參數傳遞給方法。您可以使用:

List<object> list = myArray.Cast<Object>().ToList();

或者如果你更喜歡 linq:

List<object> list = myArray.ToList<object>();


查看完整回答
反對 回復 2023-08-20
  • 1 回答
  • 0 關注
  • 135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號