当前位置: 首页 > news >正文

插入排序C语言版

 📌 插入排序(Insertion Sort)


🔍 核心思想:
将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增加 1 的有序表。

🎮 生活比喻:就像我们整理扑克牌一样,每次把一张新牌插到已排序的手牌中合适的位置。

⏱ 时间复杂度:
情况    时间复杂度
最坏情况    O(n²)
最好情况(已有序)    O(n)
平均情况    O(n²)
🧠 稳定性:✅ 稳定排序
💻 实现代码(C语言):

 

void InsertionSort(SorList *L) {int i, j;keyType k;for (i = 2; i <= L->length; i++) {L->data[0] = L->data[i]; // 保存当前元素到哨兵位置j = i - 1;while (j >= 1 && L->data[j] > L->data[0]) {L->data[j + 1] = L->data[j];j--;}L->data[j + 1] = L->data[0]; // 插入正确位置}
}

http://www.lryc.cn/news/571343.html

相关文章:

  • 容器部署springboot项目--入门
  • Vue-8-前端框架Vue之应用基础响应式数据和计算属性
  • 如何设计一个敏感词过滤系统
  • OpenCV 图像仿射变换之旋转
  • flutter的widget的执行顺序,单个组建的执行顺序
  • 什么是数据清洗?数据清洗有哪些步骤?
  • 算法导论第九章:顺序统计的艺术 - 高效查找中位数与第K小元素
  • 【AI分享:LangGraph 开源项目的深度分析报告
  • Spring Boot 数据校验: Bean Validation 注解、分组校验与全局异常处理
  • SSRF3 任意文件读取
  • 游戏引擎学习路径与技术栈指南
  • 基于Qt的配置管理界面实现:保存与加载配置文件
  • SpringCloud + Zookeeper + Feign整合及Feign原理
  • JSON-RPC 2.0 与 1.0 对比总结
  • java面试总结-20250616
  • 字符操作函数续上
  • 图扑 HT 3D 场景视频嵌入应用功能
  • cuda编程笔记(4)--纹理内存
  • OpenCV——图像形态学
  • Docker 快速搭建一个基于 GPT-Vis 组件的统计图表生成服务
  • 【超详细】讯飞智能车PC电脑烧录指南(高级系统部署与恢复)
  • 系统思考:越用力推系统,系统反弹性越大
  • Flask入门指南:从零构建Python微服务
  • Appium环境安装
  • 关于人工智能未来的趋势
  • B站PWN教程笔记-12
  • 计算机视觉| 分割大模型Segment Anything(SAM)从0到1使用
  • Muon:神经网络隐藏层的革命性优化器
  • 从零到一:C语言基础入门学习路线与核心知识点全解析
  • 香橙派3B学习笔记12:C语言操作GPIO_<wiringPi.h>_点灯通用输入输出