排序——希尔排序

2018-06-17 22:25:34来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

//希尔排序 加多一个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;
}

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:P1498 南蛮图腾

下一篇:红色的幻想乡