实验7 图及图的操作实验(4)
发布时间:2021-06-05
发布时间:2021-06-05
vertexNum=n; //顶点数
arcNum=e; //边数
int i,j,k;
int w;
for (i=0; i<vertexNum; i++)
vertex[i]=a[i];
for (i=0; i<vertexNum; i++) //初始化邻接矩阵
for (j=0; j<vertexNum; j++)
arc[i][j]=0;
for (k=0; k<arcNum; k++)//依次输入每一条边,并修改邻接矩阵的相应元素
{
cout<<"请输入第"<<k+1<<"条边(格式:顶点1 顶点2 权值):"; cin>>i>>j>>w; //边依附的两个顶点的序号
arc[i-1][j-1]=w; //置有边标志 }
}
template <class T>
void Graph<T>::printGraph()
{//输出邻接矩阵
int i,j;
for(i=0;i<vertexNum;i++)
{
for(j=0;j<vertexNum;j++)
cout<<arc[i][j]<<ends;
cout<<endl;
}
}
template <class T>
void Graph<T>::BFS(int v,int visited[]){
if (v>vertexNum){ cout<<"元素不存在~!"<<endl; exit(0);} /*构造队列*/
int front=-1;
int rear=-1;
int Queue[MaxSize];
//////////////////
cout<<vertex[v]<<" ";
visited[v]=1;
Queue[++rear]=v;
while (front!=rear)
{
v=Queue[++front]; //将队头元素出队并送到v中
for (int j=0; j<vertexNum; j++)
if (arc[v][j]==1 && visited[j]==0 ){
上一篇:公司财务报销制度(cw-01)