• 希尔排序


    #include <iostream>
    using namespace std;
    void ShellSort(int arr[],int arr_size)//数组元素的个数
    {
        int gap=arr_size/2;
        int cur=0;
        while(gap>=1)
        {
            while(cur<gap)
            {
                for(int index=cur+gap;index<=arr_size-1;index+=gap)
                {
                    while(index>cur)
                    {
                        if(arr[index-gap]>arr[index])
                        {
                            swap(arr[index-gap],arr[index]);
                            index-=gap;
                        }else{
                            break;
                        }
                    }
                }
                cur++;
            }
            gap=gap/2;
            cur=0;
        }
    }
    void ShellSort1(int arr[],int arr_size)//数组元素的个数
    {
    
        for(int gap=arr_size/2;gap>=1;gap=gap/2)
        {
            for(int cur=0;cur<gap;cur++)
            {
                for(int index=cur+gap;index<=arr_size-1;index+=gap)
                {
                    while(index>cur)
                    {
                        if(arr[index-gap]>arr[index])
                        {
                            swap(arr[index-gap],arr[index]);
                            index-=gap;
    
                        }else{
                            break;
                        }
                    }
                }
            }
        }
    }
    int main()
    {
        int arr[]={1,3,4,6,7,34,54,14,654,87657};
        ShellSort1(arr,10);
        for(int i=0;i<10;i++)
        {
                cout<<arr[i]<<" ";
        }
        cout << "Hello world!" << endl;
        return 0;
    }
  • 相关阅读:
    eclipse最有用快捷键整理(转)
    Spring IOC的配置使用(转)
    char varchar varchar2 的区别 (转)
    BigDecimal用法详解(转)
    20160126--springaop
    20160125--Spring
    20150122--接口
    Servlet与JSP的区别
    练习
    151127
  • 原文地址:https://www.cnblogs.com/GW17195/p/5726216.html
Copyright © 2020-2023  润新知