尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

希尔排序算法代码

发布时间:2026/9/1 16:46:00

资讯中心
01
ARTICLE

希尔排序算法代码

希尔排序算法代码
希尔排序算法代码一、前言二、算法代码1、C语言2、Java语言一、前言最近要用到希尔排序的算法这里记录一下。二、算法代码1、C语言#includestdio.hvoidprint_arr(intarr[],intn){for(inti0;in;i){printf(%d ,arr[i]);}putchar(\n);}voidshell_sort(intarr[],intn)//arr为数组n为元素个数{inti;//外层循环使用步长分次数intj;//内层循环就是插入排序intinc;//步长intkey;//临时保存的变量//初始增量n/2每一趟之后除于二for(incn/2;inc0;incinc/2){//每一趟采用插入排序//i inc是从步长的第二个元素开始因为第一个元素没法比较本身就是有序的for(iinc;in;i){keyarr[i];//要插入的元素//key arr[j - inc]表示当前元素比前一个元素下标为当前元素-步长小才插入for(ji;jinckeyarr[j-inc];jj-inc){arr[j]arr[j-inc];}arr[j]key;}print_arr(arr,n);}}intmain(intargc,charconst*argv[]){intarr[]{15,5,2,7,12,6,1,4,3,9,8,10};print_arr(arr,12);shell_sort(arr,12);return0;}2、Java语言/** * 希尔排序 * * author: user * date: 2026-08-30 15:53 */publicclassShellSort{privatestaticvoidprintArr(int[]arr,intn){for(inti0;in;i){System.out.printf(%d ,arr[i]);}System.out.println();}privatestaticvoidshellSort(int[]arr,intn){inti;//外层循环使用步长分次数intj;//内存循环就是插入排序intinc;//步长intkey;//临时保存的变量//初始增量n/2每一趟之后除于二for(incn/2;inc0;incinc/2){//每一趟采用插入排序//i inc是步长的第二个元素开始因为第一个元素没法比较本事就是有序的for(iinc;in;i){keyarr[i];//要插入的元素//key arr[j - inc]表示当前元素比前一个元素下标为当前元素-步长小才插入for(ji;jinckeyarr[j-inc];jj-inc){arr[j]arr[j-inc];}arr[j]key;}printArr(arr,n);}}publicstaticvoidmain(String[]args){int[]arr{15,5,2,7,12,6,1,4,3,9,8,10};intlengtharr.length;printArr(arr,length);shellSort(arr,length);}}
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。