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;
}
相关推荐
枕星而眠11 小时前
Linux 四大进程/线程同步锁详解:互斥锁、读写锁、条件变量、文件锁
linux·c语言·后端·ubuntu·学习方法
DFT计算杂谈11 小时前
KPROJ编译教程
java·前端·python·算法·conda
重生之我是Java开发战士12 小时前
【笔试强训】Week5:空调遥控, kotor和气球,走迷宫,主持人调度II,体操队形,二叉树的最大路径和,排序子序列,消减整数
java·算法·动态规划
社交怪人12 小时前
【数字对调】信息学奥赛一本通C语言解法(题号2070)
c语言·开发语言
hef28812 小时前
C语言中char指针与数组的区别及应用
c语言·开发语言
吃好睡好便好13 小时前
用if…end…语句计算分段函数
开发语言·人工智能·学习·算法·matlab
__Benco13 小时前
创建一个 Linux5.10 普通 kill 无效的守护进程 Daemon-demo
c语言
灰灰勇闯IT13 小时前
ops-memory:CANN Runtime 的 Tensor 内存管理
算法
叶子Talk13 小时前
OpenAI破解80年数学猜想,AI首次做出原创证明
人工智能·数学·算法·机器学习·ai·openai·ai推理
MhZhou041213 小时前
1.11M参数小模型实现脑瘤分割 CVPR 2026 Findings 开源
算法·计算机视觉·3d·空间计算