排序——希尔排序
//希尔排序 加多一个gap间隔 DEV会崩溃 VC++6.0可以正常运行 #include <iostream> using namespace std; void InsertSort( int k[], int n ) { int i, j,temp; int gap = n; do { gap = (gap/3) + 1; for( i=gap; i < n;i++ ) { if( k[i] < k[i-gap] ) { temp = k[i]; for( j=i-gap; k[j] > temp;j-=gap ) { k[j+gap] = k[j]; } k[j+gap] = temp; } } }while(gap > 1); } int main() { int i ,a[10] = {5,2,6,0,3,9,1,7,4,8}; InsertSort(a,10); for( i=0; i < 10 ;i++ ) { cout << a[i]; } cout << endl; return 0; }
作者: kent鹏
出处: http://www.cnblogs.com/xieyupeng/
关于作者:专注JAVAEE领域,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。