⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text7-18.htm

📁 浙江大学计算机学院数据结构课程的教学课件
💻 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">第七章</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><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">(2) <font color="#FF0000">Iterative merge sort   </font>     O( <img src="image/nlogn.gif" width="79" height="24" align="middle">  )

void <font color="#FF0000">merge_pass</font>(element list[ ],element sorted[ ],int n,int length)
{  <i><font size="3" color="#CC0099">/* perform one pass of the merge sort.It merges adjacent pairsof subfiles 
from list into sorted. n is the number of element in the list.length is the length 
of the subfile */
   </font></i>     int i, j;
        for (i = 0; i <= n-2 * length; i += 2 * length)
          <font color="#FF0000"> merge</font>(list, sorted, i, i + length - 1, i + 2 * length -1);
        if( i+length < n)
           <font color="#FF0000">merge</font>(list, sorted, i, i+length-1, n-1);
        else         </font></b></pre>
<table width="749" cellspacing="0">
  <tr> 
    <td width="363" height="85"> 
      <pre><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">        for (j = i; j < n; j++)
               sorted[  j ] = list[ j ];
}</font></b></pre>
    </td>
    <td width="380" height="85"> 
      <pre><img src="image/merge3.gif" width="344" height="90"></pre>
    </td>
  </tr>
</table>
<table width="759" cellspacing="0">
  <tr> 
    <td width="419"> 
      <pre><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">void <font color="#FF0000">merge_sort</font>(element list[ ], int n)
<i><font size="3" color="#CC0099">/* perform a merge sort on the files */</font></i>
{    int length = 1;    
     <i><font size="3" color="#CC0099">/* current length being merged */</font></i>
     element extra[MAX_SIZE];
     while(length &lt;  n){
        <font color="#FF0000">merge_pass</font>(list, extra, n, length);
        length *= 2;
        <font color="#FF0000">merge_pass</font>(extra, list, n, length);
        length *= 2;
     }
}   </font></b></pre>
    </td>
    <td width="343"> 
      <pre><img src="image/merge2.gif" width="326" height="162"></pre>
    </td>
  </tr>
</table>
<p>&nbsp;</p>
<table width="731" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="327">&nbsp;</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="text7-index.htm"></map></a></td>
    <td width="131"><font face="楷体_GB2312" size="2"><b><a href="text7-17.htm">上一页</a> 
      <a href="text7-19.htm">下一页</a> </b></font></td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -