排序之冒泡排序

冒泡排序

原始思想

cpp 复制代码
bool bubble(int* arr, int lo, int hi)
{
	bool sorted = true;
	while (++lo < hi) {
		if (arr[lo - 1] > arr[lo]) {
			mySwap2(arr[lo - 1], arr[lo]);
			sorted = false;
		}
	}
	return sorted;
}
void bubbleSort(int* arr, int lo, int hi)
{
	while (!bubble(arr, lo, hi--));
}

lo,hi),通过一个标志记录逆序的元素 ,该标志控制外层循环 ### 改进 可以把原始数组看成无序的前缀和有序的后缀,一开始有序的后缀可能没有,为0, 在实际排序中可能会出现前缀有部分是有序的,不用进行排序, ```cpp int bubblePlus(int* arr, int lo, int hi) { int last = lo; while (++lo < hi) { if (arr[lo - 1] > arr[lo]) { last = lo; mySwap2(arr[lo - 1], arr[lo]); } } return last; } ```

相关推荐
Aision_1 小时前
从工具调用到 MCP、Skill完整学习记录
java·python·gpt·学习·langchain·prompt·agi
zc.z5 小时前
JAVA实现:纯PCM格式音频转换成BASE64
java·音视频·pcm
放羊郎6 小时前
基于ORB-SLAM2算法的优化工作
人工智能·算法·计算机视觉
mask哥6 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
如果'\'真能转义说7 小时前
OOXML 文档格式剖析:哈希、ZIP结构与识别
xml·算法·c#·哈希算法
夏日听雨眠7 小时前
数据结构(栈和队列)
数据结构
Aaswk7 小时前
Java Lambda 表达式与流处理
java·开发语言·python
是宇写的啊7 小时前
Spring AOP
java·spring
万邦科技Lafite7 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
梦梦代码精8 小时前
BuildingAI 上部署自定义工作流智能体:5 个实用技巧
大数据·人工智能·算法·开源软件