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;
}
相关推荐
im_AMBER13 分钟前
Leetcode 141 最长公共前缀 | 罗马数字转整数
算法·leetcode
InfiniSynapse23 分钟前
连上Snowflake就能取数:InfiniSynapse + Spider2-Snow实战企业数据分析
数据结构·图像处理·人工智能·算法·语言模型·数据挖掘·数据分析
少许极端1 小时前
算法奇妙屋(三十三)-DFS的记忆化搜索
算法·深度优先·记忆化搜索
WolfGang0073211 小时前
代码随想录算法训练营 Day13 | 二叉树 part03
数据结构·算法·leetcode
进击的小头1 小时前
第11篇:频率响应绘制方法——伯德图(Bode Plot)
python·算法
2401_883035461 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
fengci.1 小时前
PolarD&N困难补充
算法
91刘仁德2 小时前
C++ 内存管理
android·c语言·数据结构·c++·经验分享·笔记·算法
sali-tec2 小时前
C# 基于OpenCv的视觉工作流-章38-BF特征匹配
图像处理·人工智能·opencv·算法·计算机视觉
历程里程碑2 小时前
链表-----
数据结构·线性代数·算法·链表·矩阵·lua·perl