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;}