Êý¾Ý½á¹¹×÷ҵϵͳ - µÚÆßÕ´𰸠ÁªÏµ¿Í·þ

·¢²¼Ê±¼ä : ÐÇÆÚÒ» ÎÄÕÂÊý¾Ý½á¹¹×÷ҵϵͳ - µÚÆßÕ´𰸸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ

InfoType *info; //¸Ã»¡Ïà¹ØÐÅÏ¢µÄÖ¸Õë(¿ÉÎÞ)

}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct {

AdjMatrixarcs; //ÁÚ½Ó¾ØÕó

VertexType vexs[MAX_VERTEX_NUM]; //¶¥µãÏòÁ¿ GraphKindkind; //ͼµÄÖÖÀà±êÖ¾ }MGraph;

int SimplePath(MGraph G, int i, int j, int k)

/*ÇóÓÐÏòͼGµÄ¶¥µãiµ½jÖ®¼ä³¤¶ÈΪkµÄ¼òµ¥Â·¾¶ÌõÊý*/{int sum=0,v; if( G.arcs[i][j].adj &&k==1 && !visited[j]) sum=1; else if(k>1) {visited[i]=1;

for(v=0;v

sum+=SimplePath(G,v,j,k-1);}visited[i]=0;}return sum;}ʵÏÖÏÂÁк¯Êý£º int Search(SSTable s, KeyType k); /* Index the element which key is k */ /* in StaticSearchTable s.*/ /* Return 0 if x is not found.*/

¾²Ì¬²éÕÒ±íµÄÀàÐÍSSTable¶¨ÒåÈçÏ£º

13 / 14

typedef struct { KeyType key; ... ...//ÆäËûÊý¾ÝÓò } ElemType; typedef struct { ElemType *elem; intlength; } SSTable;

int Search(SSTable a, KeyType k) /* Index the element which key is k*/ /* in StaticSearchTable s.*/ /* Return 0 if x is not found.*/{int i; for(i=1;i<=a.length;i++) if(a.elem[i].key==k)return i; return 0;}

14 / 14