A B C D E F G H
0 1
0 2
1 3
1 4
2 5
2 6
3 7
4 7
void Model()
{
//遍历s[]中的元素,t指向第一个元素,w指向第一个为空的元素
for(int j=0;j<G.n;j++){ if(s[j]==NULL)break;}
char *t=&s[0];
char *w=&s[j];
//所以顶点的标志位置 false
for (int i=0;i<G.n;i++)
{
visited[i]=false;
}
//俩指针未相等,进行操作
if(t!=w)
{
//循环s[]中的初始元素
for(int m=0;m<G.n;m++)
{
//找s[0开始]中与其相关联的元素
for (int k=0;k<G.n;k++)
{//坐标不为0,说明与之相连
if(G.edges[m][k]!==0)
{
//遍历过就置为true
visited[k]=true;
int a=rand()%10+1;
//如果激活了
if(a==1)
{
*w=G.vexs[k];//w的内容为
w++;//w指向下一个,仍未第一个非空
}
}
}
t++;
}
}
//for(int n=0;n<G.n;n++)
//{
// if (!visited[n])//条件不对,
//{
//Model();
//}
//}
for(int qw=0;qw<G.n;qw++)
{
if(s[qw]==NULL)
break;
}
t--;
cout<<*t<<endl;
cout<<qw;
}
while(t!=w) //如果两个指针不等
{
int index = *t;
for (int k=0;k<N;k++)
{
if( (data[k][3]>0) && (run[k]==0) )
{
int a=rand()%10+1;
if( (a>=1) && (a<=10) )
{
run[k]==1;
*w=data[k][2];
w++;
}
}
}
t++;
}