今天朋友问我用面向对象实现冒泡排序,说是面试用,写了一个,不知道是否能符合要求,同时希望这个小子能面试成功。
using System;

namespace BubbleSortTest
{
 /// <summary>
 /// BubbleSorter 的摘要说明。
 /// </summary>
 public class BubbleSorter
 {
  private int [] _myArray=null;
  public int [] MyArray
  {
   get
   {
    return _myArray;
   }
   set
   {
    _myArray=value;
   }
  }
  public BubbleSorter(int [] myArray)
  {
   MyArray=myArray;
  }
  /// <summary>
  /// 排序
  /// </summary>
  public void DoSort()
  {
   for(int i=0;i<_myArray.Length-1;i++)
   {
    int bFlog=0;
    for (int j=0;j<_myArray.Length-i-1;j++)
    {
     
     if(_myArray[j]<_myArray[j+1])
     {
      Swap(ref _myArray[j],ref _myArray[j+1]);
      bFlog=1;
     }

    }
    //如果一遍搜索后没有交换说明已经有序,结束排序。
    if(bFlog==0)
    {
     break;
    }
   }
  }
  /// <summary>
  /// 传引用交换
  /// </summary>
  /// <param name="i"></param>
  /// <param name="j"></param>
  public void Swap(ref int i,ref int j)
  {
   int temp=i;
   i=j;
   j=temp;
  }
 }
}

相关文章: