被墙网站怎么做301跳转,网页图片怎么保存,微商各种软件拿码渠道,做网站和做软件哪个难目录 #x1f552; 1. 冒泡排序 #x1f552; 1. 冒泡排序
#x1f4a1; 算法思想#xff1a;两两比较相邻记录的关键字#xff0c;如果反序则交换#xff0c;直到没有反序的记录为止。一共进行n-1趟这样的交换将可以把所有的元素排好。 代码实现如下#xff1a;
voi… 目录 1. 冒泡排序 1. 冒泡排序 算法思想两两比较相邻记录的关键字如果反序则交换直到没有反序的记录为止。一共进行n-1趟这样的交换将可以把所有的元素排好。 代码实现如下
void BubbleSort(int* a, int n)
{// 外层循环控制排序轮数每轮将一个最大的元素放到最后for (int j 0; j n; j){int exchange 0; // 交换标志用于判断本轮是否有元素交换// 内层循环遍历当前未排序部分将相邻的元素逐个比较并交换for (int i 1; i n - j; i){if (a[i - 1] a[i]){Swap(a[i - 1], a[i]); // 如果前一个元素大于后一个元素则交换它们exchange 1; // 设置交换标志为1表示本轮有元素交换}}// 如果本轮没有进行任何交换说明数组已经有序可以提前结束排序if (exchange 0){break;}}
}冒泡排序的特性总结
冒泡排序是一种非常容易理解的排序在数据有序时可以提前结束排序。时间复杂度O(N2)空间复杂度O(1)稳定性稳定 ❗ 转载请注明出处 作者HinsCoder 博客链接 作者博客主页