shellSrot

来源:互联网 发布:英语老师教学软件 编辑:程序博客网 时间:2024/06/01 07:50
推荐慕课网,刘宇波老师《算法与数据结构》链接:http://coding.imooc.com/class/71.htmlshellSrot 课堂笔记#include <iostream>using namespace std;#include<stdio.h>template<typename T>void shellSort(T arr[],int n){    int h = 1;    while(h < n/3)       h = 3*h + 1;    while(h >= 1){        for(int i = h;i<n;i++){            T e = arr[i];            int j;            for(j = i;j >=h && arr[j-h] > e;j -= h)               arr[j] = arr[j-h];            arr[j] = e;        }        h /= 3;    }}int main(){    int arr[] = {9,8,7,6,5,4,3,2,1};    int n = sizeof(arr)/sizeof(arr[0]);    shellSort(arr,n);    for(int i = 0;i<n;i++)        printf("%d ",arr[i]);    printf("\n");    return 0;}