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;
}
相关推荐
lixinnnn.2 分钟前
优先级队列:最小函数值
数据结构·算法
Xの哲學4 分钟前
Linux Worklet 深入剖析: 轻量级延迟执行机制
linux·服务器·网络·数据结构·算法
666HZ6666 分钟前
数据结构2.1 线性表习题
c语言·数据结构·算法
lihao lihao12 分钟前
C++ set和map
开发语言·c++·算法
学嵌入式的小杨同学18 分钟前
顺序表(SqList)完整解析与实现(数据结构专栏版)
c++·算法·unity·游戏引擎·代理模式
格林威19 分钟前
多光源条件下图像一致性校正:消除阴影与高光干扰的 6 个核心策略,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·分类·视觉检测
iAkuya20 分钟前
(leetcode)力扣100 40二叉树的直径(迭代递归)
java·算法·leetcode
smile_5me23 分钟前
RK3588 csm400b调试记录
c语言·开发语言
修炼室24 分钟前
在 Windows 上构建不占 C 盘的科研级 WSL 实验环境(Ubuntu 22.04)
c语言·windows·ubuntu
橘颂TA26 分钟前
【剑斩OFFER】算法的暴力美学——leetCode 103 题:二叉树的锯齿形层序遍历
算法·leetcode·结构与算法