void BubbleSort(int nArr[], int nLen)
{
for (int i = 0; i < nLen-1; ++i)
{
for (int j = 0; j <nLen-1-i; j++)
{
if (nArr[j]>nArr[j+1])
{
int nTemp = nArr[j];
nArr[j] = nArr[j+1];
nArr[j+1] = nTemp;
}
}
}
}
結果:從小到大排列
解析:第一層循環表示一共要冒泡的次數(即需要排序nLen-1個元素),當有三個元素的時候應該冒泡兩次,故爲i<nLen-1
第二層循環爲對比的元素次數,第一次需要對比數組索引從0~nLen - 1,需要對比的次數爲nLen - 1 - 0次
第二次需要對比數組索引從0~nLen-1-1,需要對比的次數爲nLen-1-1次
第三次需要對比數組索引從0~nLen-1-2,需要對比的次數爲nLen-1-2次,故爲i<nLen-1-i
時間複雜度:
空間複雜度:無需額外空間O(1)