希尔排序

来源:互联网 发布:js动态删除指定tr 编辑:程序博客网 时间:2024/06/04 18:25

时间复杂度O(n2),空间复杂度O(1)

不稳定

#include<iostream>using namespace std;//希尔排序void ShellSort(int *num, int len){int dk,i,j;for(dk=len/2; dk>=1; dk/=2){for(i=dk; i<len; i++){if(num[i]<num[i-dk]){int temp=num[i];for(j=i-dk;j>=0&&num[j]>temp;j-=dk)num[j+dk]=num[j];num[j+dk]=temp;}}}} int main(){int num[10]={2,3,9,4,1,6,4,9,1,9};ShellSort(num,10);for(int i=0; i<10; i++)cout<<num[i]<<" ";cout<<endl;return 0;} 


0 0
原创粉丝点击