text6-38.htm
来自「浙江大学计算机学院数据结构课程的教学课件」· HTM 代码 · 共 77 行
HTM
77 行
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" link="#0000FF" vlink="#3399FF" alink="#FF0066">
<div id="Layer1" style="position:absolute; width:711px; height:21px; z-index:1; top: 10px; background-color: #CCCCCC; layer-background-color: #CCCCCC; border: 1px none #000000; left: 26px"><b>|</b><font face="宋体" size="2"><a href="../text1/text1-0.htm">第一章</a></font><b>|</b><font face="宋体" size="2"><a href="../text2/text2-0.htm">第二章</a></font><b>|</b><font face="宋体" size="2"><a href="../text3/text3-0.htm">第三章</a></font><b>|</b><font face="宋体" size="2"><a href="../text4/text4-0.htm">第四章</a></font><b>|</b><font face="宋体" size="2"><a href="../text5/text5-0.htm">第五章</a></font><b>|</b><font face="宋体" size="2">第六章</font><b>|</b><font face="宋体" size="2"><a href="../text7/text7-0.htm">第七章</a></font><b>|</b><font face="宋体" size="2"><a href="../text8/text8-0.htm">第八章</a></font><b>|</b><font face="宋体" size="2"><a href="../text9/text9-0.htm">第九章</a></font><b>|</b><font face="宋体" size="2"><a href="../text10/text10-0.htm">第十章</a></font><b>|</b><font size="2" face="宋体"><a href="../textA/textA-0.htm">算法分析</a><b><font color="#000000">|</font></b>
</font></div>
<pre align="left"><b></b></pre>
<table width="75%" cellspacing="0" height="51">
<tr>
<td width="51%">
<pre><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">typedef struct node *node_pointer;
typedef struct <font color="#FF0000">node</font> { int vertex;
node_pointer link;
};
typedef struct { int count;
node_pointer link;
} <font color="#FF0000">hdnodes</font>;
hdnodes graph[ MAX_VERTICES ]</font></b></pre>
</td>
<td width="49%">
<p><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000"><img src="IMAGE/text6-a120.gif" width="103" height="109"></font></b></p>
<p><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000"><img src="image/text6-a13.gif" width="284" height="153"></font></b></p>
</td>
</tr>
</table>
<pre align="left"><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">void <font color="#FF0000">topsort</font>(hdnodes graph[ ],int n)
{ int i,j,k,top;
node_pointer ptr;
<i><font size="3" color="#CC0099"> /* create a stack of vertices with no predecessors*/
</font></i> top = -1;
for (i = 0; i < n; i++)
if (!graph[i].count){
graph[i].count = top;
top = i;
}
for (i = 0; i < n; i++)
if (top = -1){
fprintf(stderr,"\Network has a cycle. Sort
terminated.\n");
exit(1);
}
else{
j = top; <i><font size="3" color="#CC0099">/* unstack a vertex */</font></i>
top = graph[top].count;
printf("v%d",j);
for (ptr = graph[j].link; ptr; ptr = ptr->link){
<i><font size="3" color="#CC0099"> /*decrease the count of the successor vertices of j */</font></i>
k = ptr->vertex;
graph[k].count--;
if ( !graph[k].count){ <i><font size="3" color="#CC0099">/* add vertex k to the stack */</font></i>
graph[k].count = top; top = k;
}
}
}
}</font></b></pre>
<table width="333" cellspacing="0">
<tr>
<td><b></b></td>
<td><b><font face="Arial, Helvetica, sans-serif" size="4" color="#FF0033">complexity</font><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">
<img src="image/text6-a14.gif" width="182" height="36" align="middle"> </font></b></td>
</tr>
</table>
<p> </p><table width="731" cellspacing="0" cellpadding="0">
<tr>
<td width="327"> </td>
<td width="271"><a href="../index.htm"><img width="60" height="25" usemap="#MapMap4" border="0" src="../../images/home.gif"></a><a href="../index.htm"><map name="MapMap4"><area shape="rect" coords="42,-34,88,-15" href="text0.htm"><area shape="rect" coords="4,4,55,23" href="text6-index.htm"></map></a></td>
<td width="131"><font face="楷体_GB2312" size="2"><b><a href="text6-37.htm">上一页</a>
<a href="text6-39.htm">下一页</a> </b></font></td>
</tr>
</table>
<p> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?