• 数据结构之shell排序


     #SIZE  10
           //直接插入排序 
       void insert_sort(){
              int i,j;
              int array[SIZE+1];
              array[]={0,12,23,11,55,2,34,18,20,48,22};
              for(i=2;i<=SIZE;i++){
                  array[0]=array[i];
                  j=i-1;
                  while(array[0]<array[j]){
                         array[j+1]=array[j];
                         j--;
                   }
                  array[j+1]=array[0];
                 }
          }
          //折半插入排序
        void insert_binary_sort(){
                   int j,i,low,hight,m;
                   int array[SIZE+1];
                 for(i=2;i<=SIZE;i++){
                     array[0]=array[i];
                     hight=i-1;
                     low=1; 
                    while(low<=hight)
                         {
                            m=(low+hight)/2;
                            if(array[0]<array[m])
                                 hight=m-1;
                            else low=m+1;
                          }
                     for(j=i;j>hight+1;j--)
                        {
                              array[j]=array[j-1];
                        }
                        array[hight+1]=array[0];
                   }
                  
        }
                
            //shell排序,在直接插入排序上进行优化而来
             void shell_sort(){
                 int d,n,j,i;
                 int array[SIZE+1];
                 int d=n;
                 do{
                     d=d/2;
                     for(i=d+1;i<=SIZE;i++)
                       {
                          array[0]=array[i];
                          for(j=i-d;j>0&&array[j]>array[0];j-=d){
                                array[j+d]=array[j];
                              }
                              array[j+d]=array[0];
                        }
                 }while(d!=1);
             }
  • 相关阅读:
    Understanding performance, load and stress testing
    添加查看原型的插件
    Navicat Premium 15安装破解
    APP 测试 与 WEB 测试的本质区别
    app专项测试(稳定性测试、安全性测试)
    ubantu在登录界面一致循环的问题
    Ubuntu虚拟机安装
    装WIN7
    Linux线程模型浅析
    django中常用的数据查询方法
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6783349.html
Copyright © 2020-2023  润新知