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