码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C语言希尔排序


    希尔排序(Shell Sort)是插入排序的一种,也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。

    希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列(由相隔某个“增量”的记录组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的记录"基本有序"时,再对全体记录进行一次直接插入排序。

    1. #include
    2. void shellSort(int arr[], int n) {
    3. int gap, i, j, temp;
    4. for (gap = n/2; gap > 0; gap /= 2) {
    5. for (i = gap; i < n; i++) {
    6. temp = arr[i];
    7. for (j = i; j >= gap && arr[j-gap] > temp; j -= gap) {
    8. arr[j] = arr[j-gap];
    9. }
    10. arr[j] = temp;
    11. }
    12. }
    13. }
    14. int main() {
    15. int arr[] = {12, 34, 54, 2, 3};
    16. int n = sizeof(arr)/sizeof(arr[0]);
    17. shellSort(arr, n);
    18. printf("Sorted array: \n");
    19. for (int i=0; i < n; i++) {
    20. printf("%d ", arr[i]);
    21. }
    22. return 0;
    23. }

    在这个代码中,shellSort 函数首先计算一个"gap"值,初始值为数组长度的一半。然后它会在每次迭代中逐渐减小这个值,直到它变为0。在每次迭代中,它都会使用当前的gap值来把数组分割成若干个子数组,并对每个子数组进行插入排序。这就是希尔排序提高效率的关键:它通过对整个数组进行一次插入排序,而不是对每个元素都进行一次,来减少必要的比较和交换操作。

  • 相关阅读:
    Chrome 108版(64-bit 108.0.5359.125)网盘下载
    电脑右键新建记事本不见了--设置恢复篇(无需操作注册表)
    网络协议,数据传输,网络通讯
    RepOptimizer学习笔记
    为什么实际开发中不推荐使用外键?
    POI导出excel,按照父子节点进行分级显示
    Geode滚动升级手册
    计算机毕业设计springboot+vue+elementUI球员转会管理系统
    k8s UAT改环境
    软件工程测试4
  • 原文地址:https://blog.csdn.net/MyLovelyJay/article/details/132948370
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号