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

📄 main.cpp

📁 清华大学计算机系数据结构课程教材《数据结构 用面向对象方法和C++描述》(殷人昆主编)的类库(书中程序的源代码)
💻 CPP
字号:
#include "Graphlnk.h"
int main() {
	//建立图
	cout<<"测试构造函数,insertVertex函数,insertEdge函数"<<endl;
	cout << "请输入图的结点个数:" ;
	int size;
	cin >> size;
	Graphlnk<char, int> a(size);
    cout << "请输入各个结点:" << endl;
	char vertval;
	//建立图a结点过程
	for(int i = 1; i <= size; ++i) {
		cout << i <<"号结点: ";
		cin >> vertval;
		a.insertVertex(vertval);	
	}
	cout << "请输入各边(格式:i  j  Wij):" << endl;
	cout << "若要停止,输入0  Vx(任意)  Wx(任意)" << endl;
	//建立a边过程
	int loc1, loc2, weight;
	int i =0;
	while(1) {
		i++;
		cout<<"第"<<i<<"条边:";
		cin >> loc1 >> loc2>>weight;
		if(loc1 == 0) break;
		else a.insertEdge(loc1 - 1, loc2 - 1, weight);
	}
	cout<<"测试getNextNeighbor函数,getFirstNeighbor函数,getValue函数"<<endl;
	cout<<"结点"<<a.getValue(0)<<"的FirstNeighbor为:"<<a.getValue(a.getFirstNeighbor(0))<<endl;
	cout<<"下一个邻接结点:"<<endl;
	if(int i =a.getNextNeighbor(0,1) == -1)
		cout<<"无下一个邻接结点"<<endl;
	else
		cout<< a.getValue(i)<<endl;
	cout<<"测试getWeight函数,removeVertex函数"<<endl;
	cout<<"边E12的权:"<<a.getWeight(0 ,1)<<endl;
	a.removeVertex(2);
	cout<<"删除3号结点后:"<<endl;
	a.DFS(a.getValue(0));
	cout<<endl;
		cout<<"测试完毕"<<endl;

	while(1)//为了在类库说明文档中便于观察,加入这一句
		cout<<"";
	return 0;
}

/*
输入示例:

测试构造函数,insertVertex函数,insertEdge函数
请输入图的结点个数:4
请输入各个结点:
1号结点: a
2号结点: b
3号结点: c
4号结点: d
请输入各边(格式:i  j  Wij):
若要停止,输入0  Vx(任意)  Wx(任意)
第1条边:1 2 324
第2条边:2 3 54
第3条边:3 4 5345
第4条边:0 0 0
测试getNextNeighbor函数,getFirstNeighbor函数,getValue函数
结点a的FirstNeighbor为:b
下一个邻接结点:
无下一个邻接结点
测试getWeight函数,removeVertex函数
边E12的权:324
删除3号结点后:
a b
测试完毕
*/

⌨️ 快捷键说明

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