希尔排序(shell sort)
2017-10-04 20:14
363 查看
希尔排序是直接插入排序的改进版本,实质是一种分组插入方法
#include <iostream> using namespace std; void ShellSort(int a[],int n) { int length = n; for(int i=length/2;i>0;i=i/2) //改进:前后记录位置的增量是i,当i==1时,是直接插入排序 { for(int j=i;j<length;j++) { int temp = a[j]; if(temp < a[j-i]) { for(int k=0;k<j;k+=i) { if(temp<a[k]) { temp = a[k]; a[k] = a[j]; a[j] = temp; } } } } } } int main(int argc, char const *argv[]) { int a[8] = {20,6,23,12,68,16,1,10}; ShellSort(a,8); for(int i=0;i<8;i++) { cout<<a[i]<<" "; } cout<<endl; return 0; }
相关文章推荐
- uva 10152 ShellSort 龟壳排序(希尔排序?)
- ShellSort -- 希尔排序
- 希尔排序(shell sort)
- 数据结构 - 希尔排序(Shell's Sort) 详解 及 代码(C++)
- Java 希尔排序(Shell Sort)
- ShellSort(希尔排序)
- 常用算法——希尔排序(Shell Sort)
- 数据算法之希尔排序(shellSort)的Java实现
- PHP Array -- PHP 排序 -- 希尔排序(Shell Sort)
- 希尔排序(Shellsort)简介
- shell sort 希尔排序问题
- 希尔排序(Shell Sort)
- 希尔排序(Shell Sort)
- 希尔排序(Shell Sort)
- 希尔排序实现(ShellSort) Java数据结构与算法
- 排序算法-希尔排序 Shell Sort
- 排序算法---希尔排序(Shell Sort)
- 【ShellSort】希尔排序
- 希尔排序(Shellsort)
- Shell Sort(希尔排序)