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;
}
相关推荐
gfdhy11 小时前
【Linux】服务器网络与安全核心配置|静态IP+SSH加固+防火墙,公网服务器必学实操
linux·服务器·网络·tcp/ip·算法·安全·哈希算法
Frostnova丶11 小时前
LeetCode 1888 使二进制字符串交替的最少翻转次数
算法·leetcode
王码码203511 小时前
Flutter for OpenHarmony:es_compression — 高性能 Brotli 与 Zstd 算法实战
算法·flutter·elasticsearch
苏纪云11 小时前
蓝桥杯知识点——day2
数据结构·算法·蓝桥杯
Wect12 小时前
LeetCode 52. N 皇后 II:回溯算法高效求解
前端·算法·typescript
iFlyCai12 小时前
数据结构与算法之希尔排序
数据结构·算法·排序算法
lcreek12 小时前
LeetCode2208. 将数组和减半的最少操作次数、LeetCode2406.将区间分为最少组数
python·算法
shehuiyuelaiyuehao12 小时前
算法1,移动零
数据结构·算法·排序算法
shehuiyuelaiyuehao12 小时前
算法2,复写零
数据结构·算法
像污秽一样12 小时前
算法设计与分析-算法效率分析基础-习题1.1
c语言·数据结构·c++·算法