C排序之Shellsort
来源:互联网 发布:python pandas 十分钟 编辑:程序博客网 时间:2024/06/05 19:03
#include <stdio.h>
/*
希尔排序的原理:
希尔排序使用一个序列h(1),h(2),...,h(t)叫做增量序列
在使用增量h(k)的一趟排序后对于每一个i我们有A[i]<=A[i+h(k)]
希尔建议的增量序列是:h(t) = [N/2]和h(k) = [h(k+1)/2]
这里也一次增量为例
希尔排序的时间复杂度:
小于O(N^2)属于亚二次
*/
typedef int ElementType;
/************************************************************************/
/* shellsort 算法实现 */
/************************************************************************/
void Shellsort(ElementType A[],int N)
{
int i,j;
ElementType Tmp;
int Increment;//定义增量
for (Increment = N/2;Increment >0;Increment/=2) //使用不同的增量序列
for(i = Increment;i<N;i++){
Tmp = A[i];
for (j=i;i>0;j-=Increment)
if (Tmp<A[j-Increment])
A[j] = A[j-Increment];
else
break;
A[j] = Tmp;
}
}
void main()
{
int a[14]={12,34,56,45,32,67,89,54,54,35,34,54,76,87};
Shellsort(a,14);
for (int i=0;i<14;i++)
printf("%d ",a[i]);
}
- C排序之Shellsort
- 无聊写排序之 ---- 希尔排序(ShellSort)
- 排序算法之希尔排序(Shellsort)
- 排序算法 之 希尔排序ShellSort
- 排序算法之希尔排序(ShellSort)
- 排序- 希尔排序 ShellSort
- 数据算法之希尔排序(shellSort)的Java实现
- 希尔排序(shellsort)
- 希尔排序算法 shellsort
- 希尔排序(ShellSort)
- shellsort排序算法
- 希尔排序shellsort
- 希尔排序 (ShellSort)
- uva10152-shellsort && 希尔排序
- 希尔排序(Shellsort)
- 希尔排序(ShellSort)
- 【ShellSort】希尔排序
- 希尔排序---shellsort
- 编译原理——变量声明语句(十)
- 20120330工作日记——Linux指令与汇编编写
- Android 文件系统移植到 2440 未完
- 开博第一篇,简单自我介绍一下~
- SqlMap配置
- C排序之Shellsort
- 编译原理——变量声明语句(十一)
- B/S模型的三个层次
- 初始化的顺序
- 在powerbuilder中使下拉列表框可以和数据关联
- awk 笔记之六 patterns, actions, variables 详细介绍
- const与指针的应用
- android usb挂载分析---FrameWork层处理收到的vold消息
- 从Web站点读取Flash动画演播的PB6.5编程