1. 程式人生 > >一種高效的方法將陣列中的元素逆置

一種高效的方法將陣列中的元素逆置

一般方法是利用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 
/2); counter++)

                 
{
                         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函式可以提高效能。