📄 text9-1.htm
字号:
<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"><a href="../text6/text6-0.htm">第六章</a></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">第九章</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><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">(1)<font color="#FF0000"> insertion into a min-max heap</font>
#define MAX_SIZE 100 <i><font size="3" color="#CC0099"> /* maximum size of heap plus 1 */</font></i>
#define FALSE 0
#define TRUE 1
#define SWAP (x, y, t) ((t) = (x) , (x) = (y), (y) = (t))
typrdef struct {
int key;
/* other field */
} <font color="#FF0000">element</font>;
element heap [MAX_SIZE];
void <font color="#FF0000">min_max_insert</font>(element heap[ ],int *n,element item)
{ <i><font size="3" color="#CC0099">/* insert item into the min-max heap : O (log n ) */
</font></i>int parent;</font></b></pre>
<table width="76%" cellspacing="0" height="61">
<tr>
<td width="67%">
<pre><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">(*n) ++;
if (*n == MAX_SIZE) {
fprintf(stderr,"The heap is full\n");
exit(1);
}
parent = (*n)/2;
if (!parent)
<font color="#CC0099" size="3"><i>/* heap is empty, insert item into first position */</i></font>
heap[1] = item;
else switch(level(parent)) {
case FALSE:<i><font color="#CC0099" size="3"> /* min level */</font></i>
if (item.key < heap[parent].key) {
heap[*n] = heap[parent];
<font color="#FF0000"> verify_min</font>(heap, parent, item);
}
else
<font color="#FF0000">verify_max</font>(heap, *n, item);
break;
case TRUE: <i><font size="3" color="#CC0099"> /* max level */</font></i>
if (item.key > heap[parent].key) {
heap[*n] = heap[parent];
<font color="#FF0000">verify_max</font>(heap, parent, item);
}
else
<font color="#FF0000">verify_min</font>(heap, *n, item);
}
}</font></b></pre>
</td>
<td width="33%">
<pre>
<img src="image/minmax.gif" width="180" height="109">
<img src="IMAGE/maxmin.gif" width="180" height="109"></pre>
</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="text9-index.htm"></map></a></td>
<td width="131"><font face="楷体_GB2312" size="2"><b><a href="text9-0.htm">上一页</a>
<a href="text9-2.htm">下一页</a></b></font></td>
</tr>
</table>
<p> </p>
<pre align="left"><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000"><font color="#CC0099" size="3"><i> </i></font></font></b></pre>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -