希尔排序【模板】

简介:

希尔排序用了用了更少的时间编出来:

#include <iostream>

void Shellsort(int A[],int p,int r)
{
	int d=r-p+1;	//将 length(A) 赋给d

	int i,j,tmp;
	while(d>=1)
	{
		d/=2;
		for(i=p+d;i<=r;i++)
		{
			tmp=A[i];
			j=i-d;		//从i的前一个步长开始
			while(j>=p && tmp<A[j])
			{
				A[j+d]=A[j];	//记录后移
				j-=d;			//向前计数
			}

			A[j+d]=tmp;
		}
	}
}

int main()
{
	int A[6]={0,5,3,2,1,4};

	Shellsort(A,1,5);

	for(int i=1;i<=5;i++)
		printf("%d ",A[i]);

	return 0;
}

运行结果为:

1 2 3 4 5


相关文章
|
6月前
树状数组模板
树状数组模板
38 0
|
6月前
|
算法
桶排序(简化版)与冒泡排序
桶排序(简化版)与冒泡排序
36 0
|
4月前
|
算法
二分 模板
二分的另一个板子
34 1
|
5月前
|
Java Python
二分查找模板
二分查找模板
|
6月前
|
搜索推荐 算法
常见排序算法以及冒泡排序的基础使用方法
常见排序算法以及冒泡排序的基础使用方法
40 0
|
6月前
|
人工智能 供应链 搜索推荐
①归并排序、快速排序 、堆排序、计数排序[算法、代码模板、面试题]
①归并排序、快速排序 、堆排序、计数排序[算法、代码模板、面试题]
82 0
|
机器学习/深度学习
P1873 砍树(二分查找模板)
P1873 砍树(二分查找模板)
114 0
|
机器学习/深度学习 人工智能 搜索推荐
P1177 【模板】快速排序(二分排序)
P1177 【模板】快速排序(二分排序)
77 0
|
编译器 C语言 C++
C++ 冒泡排序,模板
C++ 冒泡排序,模板
二分搜索的三种模板
二分搜索的三种模板
66 0