欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 插入排序C语言版

插入排序C语言版

2025/6/18 10:15:58 来源:https://blog.csdn.net/wu041224/article/details/148726067  浏览:    关键词:插入排序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]; // 插入正确位置}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词