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;
}
相关推荐
m沐沐8 小时前
【深度学习】YOLOv2目标检测算法——改进点、网络结构与聚类先验框解析
人工智能·pytorch·深度学习·算法·yolo·目标检测·transformer
不会就选b8 小时前
算法日常・每日刷题--<链表>3
数据结构·算法·链表
2601_951644328 小时前
C语言二级备考指南
c语言·编程基础·编译环境·二级考试·题库选择
geovindu8 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
Zachery Pole10 小时前
CCF-CSP备战NO.7【队列】
算法
闪电悠米11 小时前
力扣hot100-48.旋转图像-转置翻转详解
算法·leetcode·职场和发展
满天星830357711 小时前
【算法】最长递增子序列(三种解法)
算法
啦啦啦啦啦zzzz12 小时前
算法:贪心算法
c++·算法·leetcode·贪心算法
日拱一卒——功不唐捐12 小时前
红黑树删除(C语言)
c语言·数据结构
清泓y13 小时前
RAG 技术
算法·ai