C语言实现希尔排序

c 复制代码
void ShellSort(int arr[], int n) {//希尔排序--升序
	int i = 0;
	int j = 0;
	int d = n / 2;
	for (d = n / 2;d >= 1;d /= 2) {
		for (i = d;i < n;i++) {
			int tmp = arr[i];
			for (j = i;j >= 0;j -= d) {
				if (tmp < arr[j - d]) {
					arr[j] = arr[j - d];
				}
				else {
					arr[j] = tmp;
					break;
				}
			}
		}
	}
}

int main() {
	int arr[10] = { 3,5,2,9,1,4,8,6,10,7 };
	int n = 10;
	ShellSort(arr, 10);
	for (int i = 0;i < 10;i++) {
		printf("%d ", arr[i]);
	}
	return 0;
}
相关推荐
智购科技自动售货机厂家6 小时前
2026自动售货机设备清洁效果自动验证:从图像比对到评分算法的工程实践~YH
人工智能·算法·计算机视觉
姜穆澜7 小时前
机器学习实战指南:从算法原理到工程落地
人工智能·算法·机器学习
Q一件事7 小时前
RWEQ——保留与消去P的soil_loss联合推导
算法
HugoStudio_SWAN8 小时前
洛谷 P10719 \[GESP202406 五级] 黑白格——暴力美学与图像处理的最小外接矩形
c++·图像处理·人工智能·学习·程序人生·算法·目标跟踪
那年窗外下的雪.8 小时前
AIDC 学习日志|第 20 天|多归属业务验收与哈希不均定位
学习·算法·哈希算法
雨田言炎9 小时前
2026/9/5 C复习笔记(一)
c语言·笔记
s_w.h10 小时前
【 刷题 】双指针
算法
啥都想学点的研究生10 小时前
一篇文章讲清楚:K-Means聚类算法
算法·kmeans·聚类
白狐_79810 小时前
408 数据结构|KMP做题方法:next、nextval和高频易错点
数据结构·算法