📄 l7_2.cpp
字号:
//建立无向图的邻接表并输出
#include<iostream.h>
const int n =4; // 表示图中最大顶点数
const int e= 5; // 图中最大边数
typedef int elemtype;
struct link //定义链表类型
{
elemtype data ;
link *next ;
};
struct node //定义邻接表的表头类型
{
elemtype v; //顶点信息
link *next;
}a[n+1];
void creatlink( )
{ int i,j,k ;
link *s ;
for(i=1; i<=n;i++) //建立邻接表头结点
{ a[i].v=i ;
a[i].next=NULL;
}
for(k=1; k<=e;k++)
{ cout<<"请输入一条边";
cin>>i>>j ; //输入一条边 (i,j)
cout<<endl;
s=new link; //申请一个动态存储单元
s->data=j ;
s->next=a[i].next ;
a[i].next=s ;
s=new link;
s->data=i ;
s->next=a[j].next ;
a[j].next=s ;
}
}
void main( )
{ link *p;
creatlink( );
for(int i=1;i<=n;i++)
{ p=a[i].next;
cout<<a[i].v<<"->";
while(p->next!=NULL)
{ cout<<p->data<<"->";
p=p->next;
}
cout<<p->data<<endl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -