技术栈

C语言实现希尔排序

劲夫学编程2023-10-20 23:15
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;
}
上一篇:【STM32】--基础了解
下一篇:我们不一样①
相关推荐
David猪大卫
7 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
老师我太想进步了2026
13 小时前
【数据结构-4】算法美学之顺序表
数据结构·算法
风影同志78324
13 小时前
编码器是激活函数吗?—— 一个看起来很像、其实不是的类比
算法
UIU114
13 小时前
P1481 魔族密码
c++·算法·动态规划
Zwawa
15 小时前
两根线怎么挂住一堆设备:I2C 协议原理
c语言·单片机·嵌入式
加宝的起点雷达
16 小时前
40 条候选里 38 条来自同一个源,主卡整屏重样
人工智能·算法·创业
秋天的怀念_David
16 小时前
算法一千零一夜 · 第二十六夜 协议的母语
java·spring boot·算法
武子康
17 小时前
h3.c 的两个权重槽,怎样把内存压力换成 SSD 等待
c语言·人工智能·agent
热门推荐
01国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)02如何新建文件夹? 电脑新建文件夹的4种方法03历年考研数学一、数学二、数学三真题试卷及答案PDF04几个好用的ip纯净度检测网站05GitHub 镜像站点06苹果iPA游戏软件资源下载网站07昇腾910B系列芯片完全指南:四款型号对比、服务器选型与大模型部署实战08蜘蛛磁力 搜索引擎大全,如何使用蜘蛛磁力查找磁力链接09微信历史版本含下载地址( Windows PC | 安卓 | MAC )及设置微信不更新10Dify:一站式AI应用开发平台全解析与Windows部署指南