C语言学习12
2024-08-30 15:45:38
希尔排序
//希尔排序
#include <stdio.h> void main()
{
int a[], i;
int shell(int a[], int n);
printf("请输入十个数据:");
for(i = ; i<; i++)
{
scanf("%d", &a[i]);
}
printf("初始序列:\n");
for(i = ; i<; i++)
{
printf(" %d", a[i]);
}
shell(a, );
printf("\n希尔排序后的顺序:\n");
for(i = ; i<; i++)
{
printf(" %d", a[i]);
}
printf("\n");
} int shell(int a[], int n)
{
int j, k, d;
for(d=n/; d>=; d=d/)
{
for(j=d+; j<=n; j++)
{
a[] = a[j];
for(k=j-d; (k>=) && a[k]>a[]; k=k-d)
{
a[k+d] = a[k];
}
a[k+d] = a[];
}
}
}
最新文章
- Percona TokuDB
- 【leetcode】Climbing Stairs (easy)
- mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干
- linux开关端口问题
- 监控RAC中的临时表空间
- linux命令——rmdir
- 关于JSP异常的处理
- 浅谈Redis及其安装配置
- IE, FireFox, Opera 浏览器支持CSS实现Alpha透明的方法 兼容问题
- NGUI具有流光效果的UISprite
- Fiddler过滤会话
- SQLite在C#中的安装与操作
- 关于回调(callback)
- linux挂载数据盘步骤
- JavaScript有这几种测试分类
- 在CentOS 7+ 安装Kubernetes入门(单Master)
- Unity图集打包
- Highcharts之折线图
- Android开发——去掉系统自带标题栏的几种方式
- MySQL在线大表DDL操作