2.冒泡排序:
两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。
/// <summary>
/// 冒泡排序.
/// </summary>
public void SortMethod3()
{
recNum = 0;
int count = m_playerList.Count;
int i,j = 0 ;
for(i = 1;i< count;i++)
{
bool isMove = false;
for(j = count - 1;j >= i;j--)
{
if(m_playerList[j].level > m_playerList[j-1].level)
{
Player tempPlayer = m_playerList[j];
m_playerList[j] = m_playerList[j-1];
m_playerList[j-1] = tempPlayer;
isMove = true;
}
recNum++;
Debug.Log("SortMethod2-----------"+recNum);
}
if(!isMove)
{
break;
}
}
OutPutMsg();
}
排序结果:
冒泡排序时间复杂度:
最好0(n);最坏0(n*n);比较次数为n(n-1)/2.