bool bExchanged = false;
for (size_t i = 0; i < vctrSort.size() - 1; ++i)
{
bExchanged = false;
for (size_t j = 0; j < vctrSort.size() - i - 1; ++j)
{
if (vctrSort.at(j) > vctrSort.at(j + 1))
{
bExchanged = true
std::swap(vctrSort.at(j), vctrSort.at(j + 1));
}
}
if (!bExchanged)
{
break;
}
}
本文介绍了一种冒泡排序算法的优化实现方式,通过增加一个布尔变量来跟踪每次内循环是否发生元素交换,若未发生交换则说明数组已有序,提前终止排序过程,以此提高排序效率。
39万+

被折叠的 条评论
为什么被折叠?



