【ShellSort】希尔排序
来源:互联网 发布:mac os 图片编辑 编辑:程序博客网 时间:2024/05/29 11:45
希尔排序的主要思想是:使数组中任意间隔为 h 的元素都是有序的。
改进插入排序只能一次一步的挪动元素; 使交换相隔 h 的元素成为可能;
下面是C语言实现(采用唐纳德步长为3实现):
#include <cstdio>#include <cstring>char a[100];int length;void swap(char* s, int i, int j){ char temp = s[i]; s[i] = s[j]; s[j] = temp;}void shellsort(){ int h = 1; while(h < length/3) h = 3*h + 1; while(h >= 1) {for(int i = h; i < length; i++){ for(int j = i; j >= h; j -= h){if(a[j] < a[j-h]) swap(a, j, j-h);else break; }}h = h/3; }}void show(){ printf("%s\n", a);}int main(){ scanf("%s", a); length = strlen(a); shellsort(); show(); return 0;}
0 0
- 排序- 希尔排序 ShellSort
- 希尔排序(shellsort)
- 希尔排序算法 shellsort
- 希尔排序(ShellSort)
- 希尔排序shellsort
- 希尔排序 (ShellSort)
- uva10152-shellsort && 希尔排序
- 希尔排序(Shellsort)
- 希尔排序(ShellSort)
- 【ShellSort】希尔排序
- 希尔排序---shellsort
- 希尔排序(ShellSort)
- 希尔排序(shellsort)
- 希尔排序 ShellSort
- 希尔排序-ShellSort
- 希尔排序(ShellSort)
- 希尔排序(ShellSort)
- 希尔排序ShellSort
- 33张赤裸裸的人性图 深深刺痛你!
- Linux学习笔记-2-vi编辑器命令
- CentOS 7下Apache配置站点
- VMware 虚拟机下 CentOS 通过 NAT 方式上网配置
- Imagick处理图片简单demo
- 【ShellSort】希尔排序
- 实现android 前后摄像头切换效果
- 拿来主义!Github上最火的iOS开源项目汇总
- CGContextRef详解
- Android 与 Unity3D 项目的整合的Bug
- java基础知识范例
- [解决后端使用ceph qem性能问题](升级kvm后使用virt-type=kvm(qemu-system-x86_64、qemu-kvm、qemu-img)
- DotNetBar.Bar菜单的使用
- 【JAVA学习】Null value was assigned to a property of primitive type setter of com.##.##.##