simpleinsert.cpp

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

CPP
32
字号
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
#include "sqlist.h"
void main(void)
{void SimpleInsert(recordfile ,int ); //直接插入排序
  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;
     }  
  SimpleInsert(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<<endl;
}
void SimpleInsert(recordfile r,int n)   // r[1]~r[n]存储待排序记录,r[0]是监视哨
{ int  i,j;
  for(i=2;i<=n;i++)                    // 从第2个记录起逐个插入
      { r[0]=r[i]; j=i-1;
        while(r[0].key<r[j].key) r[j+1]=r[j--];  // 寻找插入位置
        r[j+1]=r[0];                             // 将第i个记录插入
      }  //end_for
}

⌨️ 快捷键说明

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