排序——希尔排序
来源:互联网 发布:淘宝千里眼怎么安装 编辑:程序博客网 时间:2024/06/05 18:46
以前不是很理解希尔排序,现在才弄清楚,希尔排序是基于直接插入排序的,只不过每次增量不同罢了。
#include <cstdio>using namespace std;#define MAX_NUM100int data[MAX_NUM];//希尔排序void shell_sort(int d , int N ){int i = 0 ;for( i = 0 ; i<d; i++){int j ;for( j = i ; j <N ; j+=d){//开始插入排序int tmp = data[j];int m , n ;for( m = i ; m < j ; m+=d){if(tmp<data[m]){//开始向后搬移for( n = j -d ; n >=m ; n-=d){data[n+d] = data[n];}break;}}data[m] = tmp ;}}for( i = 0 ; i<N ; i++){printf("%d " , data[i]);}printf("\n");}int main(void){int N ;int i ;int d[] = {5 , 3 , 1};#ifdef DEBUGfreopen("input.txt" , "r" ,stdin);freopen("output.txt" , "w" , stdout);#endifscanf("%d" , &N);for( i = 0 ; i<N ; i++){scanf("%d" , &data[i]);}for( i = 0 ; i<3 ; i++){shell_sort(d[i] , N);}return 0 ;}
0 0
- 排序—希尔排序
- 排序—希尔排序
- 排序——希尔排序
- 排序——希尔排序
- 排序——希尔排序
- 排序——希尔排序
- 排序——希尔排序
- 内部排序—希尔排序
- 插入排序—希尔排序
- 数据结构—希尔排序
- 数据结构 — 希尔排序
- 算法排序———希尔排序
- 排序算法——希尔排序
- 插入排序——希尔排序
- 经典算法排序——希尔排序
- 排序算法4——希尔排序
- 排序算法——希尔排序
- 排序算法——希尔排序
- 【codevs1916】[网络流24题]负载平衡问题
- Java的Spi机制研究
- 【Mybatis】(四)详解SqlMapConfig.xml文件
- 程序员面试笔记---替换空格
- 卸载ap导致的重启问题回顾
- 排序——希尔排序
- 自己编写的简单shell
- 小鸦视角-看关系数据库MSSQL-view(视图)+存储过程+索引
- HTTP协议中的1xx,2xx,3xx,4xx,5xx状态码分别表示什么,列举常见错误码及含义
- [C++学习]剑指offer13题的学习笔记
- css的相对定位
- linux与各操作系统的区别
- 初学Linux
- 【bzoj1475】方格取数