一種高效的方法將陣列中的元素逆置
阿新 • • 發佈:2019-02-13
一般方法是利用Array.Reverse方法,例:Int [] someArray = new int [4] {1,2,3,4,5};
Array.Reverse(someArray);
可以嘗試以下自己寫的方法。
publicstaticvoid DoReversal<T>(T[] theArray){
T tempHolder =default(T);
if (theArray.Length >0)
{
for (int counter =0; counter < (theArray.Length
{
tempHolder = theArray[counter];
theArray[counter] = theArray[theArray.Length - counter -1];
theArray[theArray.Length - counter -1] = tempHolder;
}
}
else
Trace.WriteLine("Nothing to reverse");
}
}
此方法類似排序方法中的二分法,此方法的好處是他的執行速度幾乎是Array.Reverse()的兩倍,同時Array.Reverse()直接受引用型別,這意味著,對於int值型別,Array.Reverse()方法中會發生裝箱操作。因此利用DoReversal函式可以提高效能。