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;
}
相关推荐
Yuezero_17 小时前
Research Intern面试(一)——手敲LLM快速复习
pytorch·深度学习·算法
wyiyiyi17 小时前
【数据结构+算法】非递归遍历二叉树的理解
大数据·数据结构·笔记·算法·leetcode·数据分析
fashion 道格17 小时前
从地图导航到数据结构:解锁带权有向图的邻接链表奥秘
c语言·数据结构·链表
2401_8933266217 小时前
力扣1971.寻找图中是否存在路径
算法·leetcode·职场和发展
zs宝来了17 小时前
HOT100-技巧类型题
数据结构·算法
Ayanami_Reii17 小时前
进阶数据结构-FenwickTree
数据结构·算法·树状数组·fenwick tree
爪哇部落算法小助手17 小时前
每日两题day59
数据结构·c++·算法
Brduino脑机接口技术答疑18 小时前
脑机接口数据处理连载(二) 数据源头解析:脑电信号的采集原理与数据特性
人工智能·python·算法·数据分析·脑机接口
吃着火锅x唱着歌18 小时前
LeetCode 1010.总持续时间可被60整除的歌曲
算法·leetcode·职场和发展
风筝在晴天搁浅18 小时前
代码随想录 198.打家劫舍
算法