⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generatedeg.cpp

📁 实现图的广度优先遍历:数据结构课程设计
💻 CPP
字号:
//输入有向图

#include"ALGraph.h"
using namespace std;
extern int getRightInput(int,int);
void generateDeG(ALGraph &G)
{
	//建立有向图
	system("cls");
	cout<<"    请输入该有向图的信息!"<<endl;
	G.kind =1;	//有向图
	G.arcnum =0;
	cout<<"请输入图的顶点数目(2-20): ";
	G.vexnum=getRightInput(2,20);	
	for( int i=0;i<G.vexnum;i++)
	{
		G.vertices [i].firstarc=NULL;
		G.vertices [i].data=i;		//顶点的信息就是顶点存取的位置
	}
	for(i=0;i<G.vexnum;i++)
	{
		for(int j=0;j<G.vexnum ;j++)
		{
			if (j==i) continue;	// 自己与自己没有关系
			cout<<"第"<<i+1<<"个顶点与第"<<j+1<<"个顶点有关系吗?"<<endl;
			cout<<"有关系,输入1;没关系,输入0:  ";
			char relative;
			do{
				relative=(char)getch();
			}while(relative!='0'&&relative!='1');
			cout<<relative<<endl;
			if(relative=='1')		
			{		
				//采用头插法进行链接节点
				ArcNode *arcNode=(ArcNode *)malloc(sizeof(ArcNode));
				arcNode->nextarc =G.vertices [i].firstarc;
				G.vertices [i].firstarc=arcNode;
				arcNode->adjvex =j;
				G.arcnum ++;
			}
		}
	}
	cout<<endl<<"输入结束!"<<endl;
	system("pause");
}


⌨️ 快捷键说明

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