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

📄 螺旋方阵--fevernova的博客.htm

📁 螺旋矩阵的相关实验代码及报告 , 有相关的资料也有以最简单的方式直观实现的代码 .
💻 HTM
📖 第 1 页 / 共 5 页
字号:
style="mso-spacerun: yes">&nbsp;</SPAN><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>a<SUB>2,2</SUB> = 
fun(a<SUB>1,1</SUB>, min, min, n)
<P></SPAN></P>
<P class=MsoPlainText 
style="TEXT-INDENT: 24pt; mso-char-indent-count: 2.0; mso-char-indent-size: 12pt; tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp;</SPAN><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>a<SUB>i,j</SUB>=fun(a<SUB>2,2</SUB>, i-min+1, j-min+1, n-2*(min-1) )
<P></SPAN></P>
<P class=MsoPlainText 
style="TEXT-INDENT: 24pt; mso-char-indent-count: 2.0; mso-char-indent-size: 12pt; tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体">我们可以根据上述原理,分别推导出<SPAN 
lang=EN-US>i和j为其它取值范围时的min取值。根据上述递归公式,可以得到以下参考程序。
<P></SPAN></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体">#include 
&lt;stdio.h&gt;
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体">#define 
MIN(x,y)<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>(x&gt;y) ? (y) : (x)
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体">fun 
( int a11, int i, int j, int n)
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体">{ 
int min, a22;
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>if ( i==j &amp;&amp; i&lt;=1 ) return 
a11;
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>else if ( i==j &amp;&amp; i&lt;=(n+1)/2) 
return ( fun(a11,i-1,i-1,n)+4*(n-2*i+3) );
<P></SPAN></P>
<P class=MsoPlainText 
style="TEXT-ALIGN: left; tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>else if ( i==1 &amp;&amp; j!=1 ) return 
( a11+j-1 );
<P></SPAN></P>
<P class=MsoPlainText 
style="TEXT-ALIGN: left; tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>else if ( i!=1 &amp;&amp; j==n ) return 
( a11+n+i-2 );
<P></SPAN></P>
<P class=MsoPlainText 
style="TEXT-ALIGN: left; tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>else if ( i!=1 &amp;&amp; j==1 ) return 
( a11+4*n-3-i );
<P></SPAN></P>
<P class=MsoPlainText 
style="TEXT-ALIGN: left; tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>else if ( i==n &amp;&amp; j!=1 ) return 
( a11+3*n-2-j );
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>else
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>{<SPAN style="mso-spacerun: yes">&nbsp; 
</SPAN>if (i&gt;=(n+1)/2 &amp;&amp; j&gt;=(n+1)/2)<SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>min = 
MIN(n-i+1,n-j+1);
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>else if (i&lt;(n+1)/2 
&amp;&amp; j&gt;=(n+1)/2) min = MIN(i,n-j+1);
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>else if (i&gt;=(n+1)/2 
&amp;&amp; j&lt;(n+1)/2) min = MIN(n-i+1,j);
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>else<SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>min = MIN(i,j);
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>a22 = 
fun(a11,min,min,n);
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 宋体"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>return<SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>fun(a22, i-min+1, j-min+1, n-2*(min-1) 
);
<P></SPAN></P>
<P class=MsoPlainText style="tab-stops: 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 12

⌨️ 快捷键说明

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