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;
}
相关推荐
笑虾几秒前
dotnet 8 实现 XXTEA 解密核心算法
算法
龙佚几秒前
噪声抑制技术:让语音更清晰
算法·架构
兰令水3 分钟前
topcode【随机算法题】【2026.5.14打卡-java版本】
java·算法·leetcode
故事和你915 分钟前
洛谷-【图论2-1】树2
开发语言·数据结构·c++·算法·动态规划·图论
MicroTech202511 分钟前
变分量子算法再升级:MLGO微算法科技滤波变分量子本征求解器推动量子计算落地
科技·算法·量子计算
gihigo199822 分钟前
竞争性自适应重加权算法(CARS)
算法
foundbug99941 分钟前
LSSVM(最小二乘支持向量机)状态分类与预测
算法
z2005093043 分钟前
今日算法:617,合并二叉树
算法·leetcode
努力努力再努力wz1 小时前
【Qt入门系列】深入理解信号与槽:从事件响应到自定义信号机制
c语言·开发语言·数据结构·数据库·c++·qt·mysql
Sakuyu434681 小时前
C语言基础--基本数据类型
c语言·开发语言