排序算法(1)
时间复杂度为O(n²),空间复杂度为O(1)的三个算法,冒泡排序,选择排序,插入排序
冒泡排序(升序):
相邻两个数A、B进行比较,若A > B,交换A、B,下次比较B、C,依次进行。第一次将最大的数放在最后一个,第二次将第二大的数放在倒数第二个,依次进行n - 1次,最终排序完成。示例:
选择排序(升序):
在整个数组上取出一个最大值,把它放在位置n - 1上,在0到 n-2的范围上取出一个最大值,放在n-2的位置上,依次进行,到最后数组变为有序(或者取最小值放在0的位置上再选择依次排序)
示例:(实现得不好,以后回来改)
插入排序(升序):
从数组位置1上的数开始,与前面所有的数进行比较,如果比前面的某一个数小,交换,继续比较,直到位置0。依次进行,最终有序。
示例:
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步