c语言数据结构---无向图邻接表

#include
#include
#include
using namespace std;
#define MAX 100
typedef struct Anode{//子 无向图 
	int adjvex;//所指点索引
	struct Anode *next; 
}Anode; 
typedef struct Vnode{//顶点 
	char data;//顶点信息
	Anode *firsta;//第一个子 
}Vnode,Adjlist[MAX];
typedef struct{
	Adjlist ver;//一个数组
	int vexnum,arcnum;//顶点个数/边个数 
}Algraph;
int find(Algraph G,int u){
	
	for(int i=1;i<=G.vexnum;i++){
		if(u==G.ver[i].data)return i;
	}
	return -1;
} 
void creat(Algraph &G){
	cout<<"input vexnum and arcnum:";
	cin>>G.vexnum>>G.arcnum;
	cout<<"input every node"<>G.ver[i].data;
		G.ver[i].firsta=NULL;
	}
	getchar();
	cout<<"start end "<>aa>>bb;
		getchar();
		int a=find(G,aa);
		int b=find(G,bb);
		Anode *p1=new Anode;//新建首点
		p1->adjvex=b;
		p1->next=G.ver[a].firsta;
		G.ver[a].firsta=p1;//头插法 
		Anode *p2=new Anode;//新建首点
		p2->adjvex=a;
		p2->next=G.ver[b].firsta;
		G.ver[b].firsta=p2;//头插法 	
	}
}
void print(Algraph &G){
		Anode *p;
		for(int i=1;i<=G.vexnum;i++){
			cout<next){
				cout<<"-> "<adjvex;
			}
			cout<

你可能感兴趣的:(c语言,数据结构,开发语言)