shell.cpp

来自「这是本人精心搜集的关于常用图论算法的一套源码」· C++ 代码 · 共 34 行

CPP
34
字号
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
#include "sqlist.h"
void main(void)
{void shellsort(recordfile r,int n);      //Shell排序

  int n,i;  time_t t;
  recordfile r;
  cout<<" Please input sorted elements number=? ";  cin>>n; 
  srand((unsigned)time(&t));
  for(i=1;i<=n; i++) r[i].key=rand() % 83 +10;
  cout<<" origil array is\n";
  for(i=1;i<=n; i++)
     { cout<<r[i].key<<"  ";
       if(i%10==0)cout<<endl;
     }  
  shellsort(r,n);
  cout<<"\n sort array is\n";
  for(i=1;i<=n; i++)
     { cout<<r[i].key<<"  ";
       if(i%10==0)cout<<endl;
     }
  cout<<"\n\n";
}
void shellsort(recordfile r,int n)
{  int i,j,d;
   for(d=n/3;d>0;d/=2)
       for(i=d+1;i<=n;i++)
          { r[0]=r[i];  j=i-d;
            while(j>0 && r[0].key<r[j].key) r[j+d]=r[j], j-=d;
            r[j+d]=r[0];
          } //end_for_i
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?