网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月31日漏签0天
德州五中2010级十...吧 关注:19贴子:2,474
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 2回复贴,共1页
<<返回德州五中20...吧
>0< 加载中...

数据结构实验四

  • 只看楼主
  • 收藏

  • 回复
  • 白狼Runner
  • 火树银花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef struct{
int vexs[MAX];
int arcs[MAX][MAX];
int vexnum,arcnum;
}MGraph;
typedef struct ArcNode{
int adjvex;
int weight;
struct ArcNode *nextarc;
}ArcNode;
//p163
int LocateVex(MGraph G,VertexType v){
//查找顶点在无向图G中的位置
for(i=0;i<G.vexnum;i++)
if(G.vexs[i]==v)
return i;
return -1;
}//LocateVex
void CreateGraph(MGraph &G)
//根据输入的顶点数和边数,建立无向图G的邻接矩阵
scanf("%d%d",&G.vexnum,&G.arcnum);
for(i=0;i<G.vexnum;i++)
scanf(&G.vex[i]);
for(i=0;i<G.vexnum;i++)
for(j=0;j<G.vexnum;j++)
G.arcs[i][j]=0;
for(k=0;k<G.arcnum;k++){
scanf(&u,&v);
i=LocateVex(G,u);
if(i==-1){
printf("error\n"); return;
}
j=LocateVex(G,v);
if(j==-1){
printf("error\n"); return;
}
G.arcs[i][j]=G.arcs[j][i]=1;
}//for
}//CreateGraph
int FirstAdjVex(MGraph G,int v){
//在无向图G中查找顶点v的第一个临界点
for(j=0;j<G.vexnum;j++)
if(G.arcs[v][j]==1)
return j;
return -1;
}//FirstAdjVex
int NextAdjVex(MGraph G,int v,int w){
//在图G中查找相对于w的下一个邻接点
for(j=w+1;j<G.vexnum;j++)
if(G.arcs[v][j]==1)
return j;
return 1;
}//NextAdjVex


  • 白狼Runner
  • 火树银花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef struct{
char vexs[MAX];
int arcs[MAX][MAX];
int vexnum,arcnum;
}MGraph;
typedef struct ArcNode{
int adjvex;
int weight;
struct ArcNode *nextarc;
}ArcNode;
//p163
int LocateVex(MGraph G,int v){
//查找顶点在无向图G中的位置
for(int i=0;i<G.vexnum;i++)
if(G.vexs[i]==v)
return i;
return -1;
}//LocateVex
void CreateGraph(MGraph &G){
//根据输入的顶点数和边数,建立无向图G的邻接矩阵
int i,k,j;
char u,v;
scanf("%d%d",&G.vexnum,&G.arcnum);
gerchar();
for(i=0;i<G.vexnum;i++)
scanf(&G.vexs[i]);
for(i=0;i<G.vexnum;i++)
for(j=0;j<G.vexnum;j++)
G.arcs[i][j]=0;
for(k=0;k<G.arcnum;k++){
scanf(&u,&v);
i=LocateVex(G,u);
if(i==-1){
printf("error\n"); return;
}
j=LocateVex(G,v);
if(j==-1){
printf("error\n"); return;
}
G.arcs[i][j]=G.arcs[j][i]=1;
}//for
}//CreateGraph
int FirstAdjVex(MGraph G,int v){
//在无向图G中查找顶点v的第一个临界点
for(int j=0;j<G.vexnum;j++)
if(G.arcs[v][j]==1)
return j;
return -1;
}//FirstAdjVex
int NextAdjVex(MGraph G,int v,int w){
//在图G中查找相对于w的下一个邻接点
for(int j=w+1;j<G.vexnum;j++)
if(G.arcs[v][j]==1)
return j;
return 1;
}//NextAdjVex
int main(){
MGraph G;
CreateGraph(G);
}


2026-01-31 20:14:06
广告
不感兴趣
开通SVIP免广告
  • 白狼Runner
  • 火树银花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef struct{
char vexs[MAX];
int arcs[MAX][MAX];
int vexnum,arcnum;
}MGraph;
typedef struct ArcNode{
int adjvex;
int weight;
struct ArcNode *nextarc;
}ArcNode;
typedef struct VNode{
VertexType data;
ArcNode *firstare;
}VNode;
typedef struct{
VNode vertices[MAX];
int vexnum,arcnum;
}ALGraph;
int LocateVex(MGraph G,int v){
//查找顶点在无向图G中的位置
for(int i=0;i<G.vexnum;i++)
if(G.vexs[i]==v)
return i;
return -1;
}//LocateVex
void CreateGraph(MGraph &G){
//根据输入的顶点数和边数,建立无向图G的邻接矩阵
int i,k,j;
char u,v;
scanf("%d%d",&G.vexnum,&G.arcnum);
getchar();
for(i=0;i<G.vexnum;i++)
scanf(&G.vexs[i]);
for(i=0;i<G.vexnum;i++)
for(j=0;j<G.vexnum;j++)
G.arcs[i][j]=0;
for(k=0;k<G.arcnum;k++){
scanf(&u,&v);
i=LocateVex(G,u);
if(i==-1){
printf("error\n"); return;
}
j=LocateVex(G,v);
if(j==-1){
printf("error\n"); return;
}
G.arcs[i][j]=G.arcs[j][i]=1;
}//for
}//CreateGraph
/*int FirstAdjVex(MGraph G,int v){
//在无向图G中查找顶点v的第一个临界点
for(int j=0;j<G.vexnum;j++)
if(G.arcs[v][j]==1)
return j;
return -1;
}//FirstAdjVex
int NextAdjVex(MGraph G,int v,int w){
//在图G中查找相对于w的下一个邻接点
for(int j=w+1;j<G.vexnum;j++)
if(G.arcs[v][j]==1)
return j;
return 1;
}//NextAdjVex*/
void CreateGraphhave(ALGraph &G){
//根据输入的顶点数和弧数,建立有向图G的邻接表
scanf("%d%d",&G,vexnum,&G.arcnum);
for(i=0;i<G.vexnum;i++){
scanf(&G.vertices[i].data);
G.vertices[i].firstare=NULL;
} //for
for(k=0;k<G.arcnum;k++){
scanf(&u,&v);
i=LocateVex(G,u);
if(i==-1){printf("error\n"); return;}
j=LocateVex(G,v);
if(j==-1){printf("error\n"); return;}
s=(ArcNode*)malloc(sizeof(ArcNode));
S->adivex=j; s->nextare=NULL;
if(!G.vertices[i].firstare)
G.vertices[i].firstare=s;
else{
p=G.vertices[i].firstare;
while(p->nextarc) p=p->nextarc;
p->nextarc=s;
}//else
}//for
}//CreateGraph
int visited[MAX];
void DFSTraverse(Graph G){
//深度优先遍历图G
for(v=0;v<G.vexnum;v++)
visited[v]=0;
for(v=0;v<G.vexnum;v++)
if(!visited[v]) DFS(G,v);
}//DFSTraverse
void DFS(ALGraph G,int v){
//从
}
int main(){
//int v,w;
MGraph G;
CreateGraph(G);
//FirstAdjVex(G,v);
//NextAdjVex(G,v,w);
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回德州五中20...吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示