首页 > 其他分享 >希尔排序--插入排序升级版

希尔排序--插入排序升级版

时间:2024-07-13 22:26:23浏览次数:14  
标签:arr temp -- 插入排序 gap int sizeof 升级版 size

#include <stdio.h>
// 希尔排序函数
void shellSort(int arr[], int size) {
    int i, j, gap, temp;
    // 计算初始增量
    gap = 1;
    while (gap < size) {
        gap = gap * 3 + 1; // Knuth 增量序列
     for (i = gap; i < size; i++) {
        // 当前待插入的元素
        temp = arr[i];
        // 与前面的元素比较,如果当前元素较小,则向前移动
        j = i;
        while (j >= gap && arr[j - gap] > temp) {
            arr[j] = arr[j - gap];
            j -= gap;
        }
        arr[j] = temp;
     }
    }
}

int main() {
    int arr[] = {12, 34, 54, 2, 3};
    int size = sizeof(arr) / sizeof(int);
    shellSort(arr, size);
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}

标签:arr,temp,--,插入排序,gap,int,sizeof,升级版,size
From: https://blog.csdn.net/2301_81615161/article/details/140407804

相关文章

  • 热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网14
           热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网74       热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网    ......
  • 热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网33
           热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网10       热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网热血江湖SF发布网-热血江湖SF发布网-热血江湖SF发布网    ......
  • 使用Java开发一个简易健康计算器
            开发一个简单的健康计算器应用程序,它可以接收用户的输入(如年龄、性别、身高、体重),并计算出用户的BMI(身体质量指数)和基础代谢率(BMR)。    一、BMI(BodyMassIndex,身体质量指数)是用来评估体重是否适宜的一个常用指标。它通过体重(以千克为单位)除以身......
  • 基于GA遗传优化算法的Okumura-Hata信道参数估计算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下(完整代码运行后无水印):   2.算法涉及理论知识概要      遗传算法(GeneticAlgorithm,GA)是一种模拟自然界生物进化过程的全局优化搜索算法,由JohnHolland于1975年提出。它利用达尔文的自然选择和遗传学原理,通过选择、交叉、......
  • Windows10下的docker容器启动命令docker -v相对路径的挂载目录位置
    今天研究docker容器时,启动命令使用到了docker-vtest:/app/backend/data有个从宿主机写入文件到容器这个目录的需求,于是就尝试在宿主机上找到这个test目录找了一圈都没找到,于是四处搜索,终于在stackoverflow上面找到了https://stackoverflow.com/questions/61083772/where-are-......
  • 层次分析法
    需要评价指标:网络搜索……问题描述问题分为三层:目标层,准则层,方案层。以一个经典的旅游地选取为例,问题得层次结构如下:问题解决步骤正互反矩阵(判断矩阵)判断矩阵的作用:对每一层的指标进行打分,得到指标的权重,然后将这些权重用于下一层的指标。性质:\(A_{ij}*A_{ji}=1\)\(......
  • Epson机器人编程初级阶(一)
    EPSON控制柜类型:RC700可控制,除一体机和LS系列以外的所有机型。RC90为LS系列专用控制器。 机器人系统具有三种操作模式:TEACH,AUTO,TSETTEACH:该模式可电动机器人及示教电位置,机器人将在低速率下运行AUTO:外部TSET:调试 机器人常用控制指令:关节插补:GO,JUMP直线插......
  • 12 外键、视图、事务
    外键:foreignkye外键:一张表(表1)中的其中一个字段,保存的值是另外一张表(表2)的主键,那么表1就是从表(具有外键的表),表2就是主表外键表示了2张表中之间的联系,以另外一张表的外键作为主关键字的表是主表,具有此外键的表是主表的从表,设置了外键的表就是从表外键字段必须保证要与其关联的主......
  • Spring Task定时任务
    介绍SpringTask是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。作用:定时自动执行某段Java代码应用场景:信用卡每月还款提醒银行贷款每月还款提醒火车票售票系统处理未支付订单入职纪念日为用户发送通知等只要是需要定时处理的场景都可以使用S......
  • 2024 暑假友谊赛 1
    2024暑假友谊赛1A-......