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;
}
相关推荐
oioihoii3 分钟前
C++语言演进之路:从“C with Classes”到现代编程基石
java·c语言·c++
小白程序员成长日记11 分钟前
2025.11.23 力扣每日一题
算法·leetcode·职场和发展
16_one1 小时前
autoDL安装Open-WebUi+Rag本地知识库问答+Function Calling
人工智能·后端·算法
散峰而望2 小时前
C++数组(三)(算法竞赛)
开发语言·c++·算法·github
q***95222 小时前
SpringMVC 请求参数接收
前端·javascript·算法
初级炼丹师(爱说实话版)2 小时前
多进程与多线程的优缺点及适用场景总结
算法
hetao17338373 小时前
2025-11-25~26 hetao1733837的刷题记录
c++·算法
历程里程碑3 小时前
各种排序法大全
c语言·数据结构·笔记·算法·排序算法
树在风中摇曳3 小时前
带哨兵位的双向循环链表详解(含 C 代码)+ LeetCode138 深度解析 + 顺序表 vs 链表缓存机制对比(图解 CPU 层级)
c语言·链表·缓存
少许极端3 小时前
算法奇妙屋(十四)-简单多状态dp问题
算法·动态规划·图解算法·简单多状态dp·打家劫舍问题·买卖股票问题全解