现在的位置: 首页 > 综合 > 正文

冒个泡@@!

2013年08月13日 ⁄ 综合 ⁄ 共 787字 ⁄ 字号 评论关闭

      好久没冒泡了,今天看杨老大(神奇的杨中科)视屏的时候,他老人家亲自传授的冒泡神功~果然神奇~~完全不需要第三个变量,就可以交换两个变量的值。两个变量交换数据,不用头想都晓得要用第三个变量来中转那两个变量的值。可事实上真的需要第三个变量吗???

See here:

//冒泡类,单一职责原则(SRP):就是指对一个类而言,应该仅有一个引起它变化的原因。所以MaoPao类的职责就是排序的方式(正序和倒序),如果职责过多,增加元素值之和、之积、照相、极品飞车@@!改变一个类就要考虑多个动机,需要职责分离,一个职责的变化可能会抑制其他职责的能力。就会出现意想不到的“我们是它们的奴隶”@@!我们的设计不能这么脆弱,一定要降低耦合!!!

Code:
  1. class MaoPao  
  2. {  
  3.  public MaoPao(int[] test)  
  4.  {  
  5.   foreach(int j in test)  
  6.   {  
  7.    for(int i=0;i<test.Length-1;i++)  
  8.    {  
  9.     if(test[i]>test[i+1])  
  10.     {  
  11.      /*注意:只用了test[i]和test[i+1]两个变量 
  12.       *相当于:a=a+b; 
  13.       *             b=a-b;(原来的a) 
  14.       *             a=a-b;(原来的b) 
  15.       */  
  16.      test[i]=test[i]+test[i+1];  
  17.      test[i+1]=test[i]-test[i+1];  
  18.      test[i]=test[i]-test[i+1];  
  19.     }  
  20.    }  
  21.   }  
  22.   foreach(int i in test)  
  23.    Console.WriteLine(i);  
  24.  }  
  25. }  

 

抱歉!评论已关闭.