CreateGraphPart.cpp ///产生小文件个part,
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <windows.h>
#include <string.h>
using namespace std;
static int ratio = 2;
const int inme = 1000;
const int MAX_NAME = 20;
//产生一个随机的连通图文件,并返回边数
int CreateTree(int n)
{
int count=1;
bool isGreate = false; //用来标记2倍是否大于n
char fileName[10] ;
FILE *graphfile;
int weight;
int m=0;
int no =1;
//生成树
while(count<n&&!isGreate)
{
if(m%1000 == 0) /****每1000个元组放入一个文件中****/
{
//cout<<"Please input fileName :";
//cin>>fileName;
sprintf(fileName,"part%d",no);
no++;
graphfile = fopen(fileName,"a");
}
weight = rand()%10+1;//产生一个0-10之间的随机数
if(2*count<=n)
{
fprintf(graphfile,"%d",count);
fprintf(graphfile,"%c",' ');
fprintf(graphfile,"%d",2*count);
fprintf(graphfile,"%c",' ');
fprintf(graphfile,"%d",weight);
fprintf(graphfile,"%s","\n");
m++;
if(2*count+1<=n)
{
weight = rand()%10+1;//产生一个0-10之间的随机数
fprintf(graphfile,"%d",count);
fprintf(graphfile,"%c",' ');
fprintf(graphfile,"%d",2*count+1);
fprintf(graphfile,"%c",' ');
fprintf(graphfile,"%d",weight);
fprintf(graphfile,"%s","\n");
m++;
}
}
if(2*count>n || 2*count+1>n)
isGreate = true;
count++;
}
//产生三个随机数,写入到文件
int node1,node2;
while(m/n<ratio)
{
cout<<"m ="<<m<<endl;
if( m % 1000 == 0 && (m+1)/n<ratio) /****每1000个元组放入一个文件中****/
{
fclose(graphfile);
///cout<<"Please input fileName :";
/// cin>>fileName;
sprintf(fileName,"part%d",no);
no++;
graphfile = fopen(fileName,"a"