一种高效的方法将数组中的元素逆置

一般方法是利用Array.Reverse方法,例:Int [] someArray = new int [4] {1,2,3,4,5};

Array.Reverse(someArray);

可以尝试以下自己写的方法。

public   static   void  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 函数可以提高性能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值