使用冒泡排序给一个包含 n 个整数的数列排序,每一轮从左往右依次比较相邻元素,最多需要 n-1 轮就能够实现排序。
但是有可能不用 n-1 轮就能够实现排序。比如,对数列 [3, 2, 1, 6, 5, 4] 进行从小到大排序:
- 第 1 轮操作后数列变为 [2, 1, 3, 5, 4, 6];
- 第 2 轮操作后数列变为 [1, 2, 3, 4, 5, 6]。
只需要 2 轮操作就实现了从小到大排序了。
现在给你一个长度为 n 的数列,问:使用冒泡排序,至少需要几轮操作能够将这个从小到大排序?