首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

C# 自訂演算法實作陣列反轉

     編輯:更多程式設計知識

雖然 Array.Reverse 內建反轉功能,但透過自訂演算法可深入理解原地反轉邏輯。以下為泛型擴充方法實作:

public static void ReverseArray<T>(this T[] inputArray)
{
    if (inputArray == null)
        throw new ArgumentNullException("inputArray is empty");

    if (inputArray.Length > 0)
    {
        for (int i = 0; i < inputArray.Length / 2; i++)
        {
            T temp = inputArray[i];
            inputArray[i] = inputArray[inputArray.Length - i - 1];
            inputArray[inputArray.Length - i - 1] = temp;
        }
    }
    else
    {
        System.Diagnostics.Trace.WriteLine("Reversal not needed");
    }
}

重點解析

  • 雙指標交換:頭尾對稱位置互換,只需迴圈跑到長度一半。
  • 泛型 T 支援任意型別陣列。
  • 空陣列或單元素陣列直接略過。

呼叫方式

int[] arr = { 1, 2, 3, 4, 5 };
arr.ReverseArray(); // arr 變為 {5, 4, 3, 2, 1}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved