±¾À´ÊÇÒª´´½¨Ò»¸öÁÚ½Ó±íµÄ,µ«ÊÇÊäÈëÊý¾ÝÀïûÓиøÊäÈë±ßµÄÊýÄ¿,ËùÒÔÎÒ¾ÍÔÚÿ´ÎÊäÈëÒ»¸öÊý×ÖʱÓÃÖ¸Õë±éÀúµ±Ç°½ÚµãµÄÁÚ½Óµã,¿´ÊÇ·ñÓÐÖØ¸´,ÓÐÔò¸Ã½ÚµãÊý×éÊý¾ÝÊäÈëÍê±Ï,»»ÏÂÒ»¸ö½ÚµãÊý×é,µ«ÊDZéÀúÓõÄÄǸöÖ¸ÕëÒ»Ö±±¨´í
typedef struct ArcNode //µ¥¸öÁÚ½Óµãµã½á¹¹
{
int adjvex; //챐
struct ArcNode *nextarc; //ÏÂÒ»¸öÁÚ½Óµã
}ArcNode;
typedef struct VNode
{
ArcNode *firstarc; //Í·½Úµã
int data; //½ÚµãÊý¾Ý
}VNode, AdjList[MAX]; //½ÚµãÊý×é
typedef struct
{
AdjList adjList; //½ÚµãÊý×é
int numVertexes; //ÁÚ½Ó±í½ÚµãÊýÄ¿
}GraphAdjList;
ÁÚ½Ó±í½á¹¹
ÏÂÃæÊÇÊäÈëÊý¾Ý
£¨1£©ÊäÈ룺input.txt£¬ÀïÃæÓÐÖÁÉÙ3ÐУ¬µÚÒ»ÐÐΪ½Úµã¸öÊý£¬µÚ¶þÐпªÊ¼ÎªÎÞÏòͼ¸÷¸ö½ÚµãµÄÁÚ½Ó±íʾ£¬×îºóÒ»ÐÐÊÇ¿ÕÐС£ÈôÒÔÉÏÀýΪÀý£¬Ôòinput.txtÖеÄÊý¾Ý£¨È«²¿Îª°ë½Ç·ûºÅ£©Îª£º
4
0 1 3
1 0 2 3
2 1 3
3 0 1 2
´úÂë:
/*´ýÐÞ¸Ä ÉèÖÃÒ»¸öÖ¸Õë±éÀú,¿´ÊÇ·ñÓÐÖØ¸´±ß ÓÐÔòʹÓÃÏÂÒ»¸öÊý×é*/ /*Ö¸ÕëÎÊÌâ,δ½â¾ö ̰³ÔÉß*/
void CreateGraph(GraphAdjList *G)
{
int i, input;
scanf("%d", &G->numVertexes);
for(i = 0; i < G->numVertexes; i++);
{
G->adjList.firstarc = NULL;
G->adjList.data = i;
}
scanf("%d", &i);
while(scanf("%d", &input) != EOF)
{
ArcNode *q;
q = G->adjList.firstarc;
while(q)
{
if(q->adjvex == input)
{
i++;
break;
}
q = q->nextarc;
}
ArcNode *p;
if(!q)
{
p = (ArcNode *)malloc(sizeof(ArcNode));
p->adjvex = input;
p->nextarc = G->adjList.firstarc;
G->adjList.firstarc = p;
}
}
}
ÐÂ×¢²áµÄºÅ,½ð±ÒÖ»ÓÐÕâô¶àÁË,Çó´óÉñ°ïæ!!
![Çó´óÉñ½â´ðÒ»¸ö¹ØÓÚÖ¸ÕëµÄÎÊÌâ]()
b98bfd1f4134970a30c0bbcd92cad1c8a6865d7c.jpg |